<?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>151948</bug_id>
          
          <creation_ts>2015-12-07 10:44:22 -0800</creation_ts>
          <short_desc>Modern IDB: Fix &quot;old versions&quot; when upgrading databases</short_desc>
          <delta_ts>2015-12-07 12:27:58 -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>WebCore Misc.</component>
          <version>Safari 9</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>149117</blocked>
    
    <blocked>150882</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>achristensen</cc>
    
    <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1146899</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-07 10:44:22 -0800</bug_when>
    <thetext>Modern IDB: Fix &quot;old versions&quot; when upgrading databases

This includes the old version on the IDBVersionChangeEvent, as well as the version the database is left with if the version change transaction is aborted.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146902</commentid>
    <comment_count>1</comment_count>
      <attachid>266787</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2015-12-07 10:48:34 -0800</bug_when>
    <thetext>Created attachment 266787
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146941</commentid>
    <comment_count>2</comment_count>
      <attachid>266787</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-07 12:27:55 -0800</bug_when>
    <thetext>Comment on attachment 266787
Patch v1

Clearing flags on attachment: 266787

Committed r193643: &lt;http://trac.webkit.org/changeset/193643&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146942</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-07 12:27:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266787</attachid>
            <date>2015-12-07 10:48:34 -0800</date>
            <delta_ts>2015-12-07 12:27:55 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>17437</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA0NGI4MTNkLi5mNzA5MGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTUtMTIt
MDcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIE1vZGVybiBJ
REI6IEZpeCAib2xkIHZlcnNpb25zIiB3aGVuIHVwZ3JhZGluZyBkYXRhYmFzZXMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE5NDgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13
azEvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFz
ZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL21vZGVy
bi9kZWxldGVkYXRhYmFzZS0yLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0xMi0wNyAgR3l1eW91bmcg
S2ltICA8Z3l1eW91bmcua2ltQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwg
Z2FyZGVuaW5nLiBNYXJrIHNvbWUgb2YgYmxpbmsgdGVzdHMgdG8gZmFpbHVyZSBzaW5jZSByMTkw
NjI5LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmlu
ZGV4IDdhY2I5NmUuLjUwNGE1YzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azEvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sx
L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExNCw3ICsxMTQsNiBAQCBzdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItY29udGludWUtdmFsaWRpdHkuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVk
ZGIvY3Vyc29yLWNvbnRpbnVlcHJpbWFyeWtleS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2lu
ZGV4ZWRkYi9jdXJzb3ItbGVhay5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3ItcmVxdWVzdC1jeWNsZS5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4ZWRkYi9k
YXRhYmFzZS1iYXNpY3MuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJh
c2UtZGVsZXRlcGVuZGluZy1mbGFnLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRi
L2RhdGFiYXNlLXdyYXBwZXIuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvZGVs
ZXRlLWluLXVwZ3JhZGVuZWVkZWQtY2xvc2UtaW4tb3Blbi1zdWNjZXNzLmh0bWwgWyBGYWlsdXJl
IF0KQEAgLTEzMywxMSArMTMyLDggQEAgc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1hYm9y
dC1pbi1pbml0aWFsLXVwZ3JhZGVuZWVkZWQuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRl
eGVkZGIvaW50dmVyc2lvbi1jbG9zZS1iZXR3ZWVuLWV2ZW50cy5odG1sIFsgRmFpbHVyZSBdCiBz
dG9yYWdlL2luZGV4ZWRkYi9pbnR2ZXJzaW9uLWNsb3NlLWluLW9uY29tcGxldGUuaHRtbCBbIEZh
aWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1jbG9zZS1pbi11cGdyYWRlbmVl
ZGVkLmh0bWwgWyBGYWlsdXJlIF0KLXN0b3JhZ2UvaW5kZXhlZGRiL2ludHZlcnNpb24tZW5jb2Rp
bmcuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1nYXRlZC1v
bi1kZWxldGUuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvaW50dmVyc2lvbi1v
cGVuLWluLXVwZ3JhZGVuZWVkZWQuaHRtbCBbIEZhaWx1cmUgXQotc3RvcmFnZS9pbmRleGVkZGIv
aW50dmVyc2lvbi1vcGVuLXdpdGgtdmVyc2lvbi5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2lu
ZGV4ZWRkYi9pbnR2ZXJzaW9uLXBlcnNpc3RlbmNlLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2Uv
aW5kZXhlZGRiL2ludHZlcnNpb24tdXBncmFkZXMuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtYmluYXJ5Lmh0bWwgWyBGYWlsdXJlIF0KQEAgLTE1MSw3ICsxNDcsNiBAQCBz
dG9yYWdlL2luZGV4ZWRkYi9vcHRpb25hbC1hcmd1bWVudHMuaHRtbCBbIEZhaWx1cmUgXQogc3Rv
cmFnZS9pbmRleGVkZGIvcGVuZGluZy12ZXJzaW9uLWNoYW5nZS1vbi1leGl0Lmh0bWwgWyBGYWls
dXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3BlbmRpbmctdmVyc2lvbi1jaGFuZ2Utc3R1Y2std29y
a3Mtd2l0aC10ZXJtaW5hdGUuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRleGVkZGIvcGVu
ZGluZy12ZXJzaW9uLWNoYW5nZS1zdHVjay5odG1sIFsgRmFpbHVyZSBdCi1zdG9yYWdlL2luZGV4
ZWRkYi9wZXJzaXN0ZW5jZS5odG1sIFsgRmFpbHVyZSBdCiBzdG9yYWdlL2luZGV4ZWRkYi9wcm9w
ZXJ0aWVzLWRpc2FibGVkLWF0LXJ1bnRpbWUuaHRtbCBbIEZhaWx1cmUgXQogc3RvcmFnZS9pbmRl
eGVkZGIvcmVxdWVzdC1sZWFrLmh0bWwgWyBGYWlsdXJlIF0KIHN0b3JhZ2UvaW5kZXhlZGRiL3Nl
dHZlcnNpb24tYmxvY2tlZC1ieS12ZXJzaW9uY2hhbmdlLWNsb3NlLmh0bWwgWyBGYWlsdXJlIF0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJhc2lj
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kYXRhYmFzZS1i
YXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGQyNDU3M2QuLmI3NGYxZDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RhdGFiYXNlLWJhc2ljcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZGF0YWJhc2UtYmFzaWNzLWV4cGVj
dGVkLnR4dApAQCAtMTMsNyArMTMsNyBAQCBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGIudHJh
bnNhY3Rpb24oImRvZXNudEV4aXN0IikKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCiBQQVNTIGVuYW1lIGlzICdJ
bnZhbGlkU3RhdGVFcnJvcicKLUV4Y2VwdGlvbiBtZXNzYWdlOiBJbnZhbGlkU3RhdGVFcnJvcjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiAxMQorRXhjZXB0aW9uIG1lc3NhZ2U6IEZhaWxlZCB0
byBleGVjdXRlICd0cmFuc2FjdGlvbicgb24gJ0lEQkRhdGFiYXNlJzogQSB2ZXJzaW9uIGNoYW5n
ZSB0cmFuc2FjdGlvbiBpcyBydW5uaW5nLgogUEFTUyBkYi52ZXJzaW9uIGlzIDEKIFBBU1MgZGIu
bmFtZSBpcyAiZGF0YWJhc2UtYmFzaWNzLmh0bWwiCiBQQVNTIGRiLm9iamVjdFN0b3JlTmFtZXMg
aXMgW10KQEAgLTUzLDcgKzUzLDcgQEAgRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRiLnRyYW5z
YWN0aW9uKCd0ZXN0MTIzJykKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCiBQQVNTIGVuYW1lIGlzICdJbnZhbGlk
U3RhdGVFcnJvcicKLUV4Y2VwdGlvbiBtZXNzYWdlOiBJbnZhbGlkU3RhdGVFcnJvcjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiAxMQorRXhjZXB0aW9uIG1lc3NhZ2U6IEZhaWxlZCB0byBleGVj
dXRlICd0cmFuc2FjdGlvbicgb24gJ0lEQkRhdGFiYXNlJzogVGhlIGRhdGFiYXNlIGNvbm5lY3Rp
b24gaXMgY2xvc2luZy4KIENhbGwgdHdpY2UsIG1ha2Ugc3VyZSBpdCdzIGhhcm1sZXNzCiBkYi5j
bG9zZSgpCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJhc2UtMi1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9tb2Rlcm4vZGVsZXRlZGF0YWJh
c2UtMi1leHBlY3RlZC50eHQKaW5kZXggM2Q5NDU0Ni4uMDM2MWIyMCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvbW9kZXJuL2RlbGV0ZWRhdGFiYXNlLTItZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL21vZGVybi9kZWxldGVk
YXRhYmFzZS0yLWV4cGVjdGVkLnR4dApAQCAtMiw3ICsyLDcgQEAgVGhpcyB0ZXN0cyB0aGF0IGlm
IGRlbGV0ZURhdGFiYXNlIGlzIGNhbGxlZCB3aGlsZSB0aGVyZSBpcyBhbHJlYWR5IGFuIG9wZW4g
Y29ubmUKIFRoYXQgb3BlbiBjb25uZWN0aW9uIGFsc28gaGFzIGFuIGluLXByb2dyZXNzIHRyYW5z
YWN0aW9uIGF0IHRoZSB0aW1lIGl0IGdldHMgdGhlIHZlcnNpb25DaGFuZ2UgZXZlbnQuCiBJbml0
aWFsIHVwZ3JhZGUgb2xkIHZlcnNpb24gLSAwIG5ldyB2ZXJzaW9uIC0gMQogUmVxdWVzdGluZyBk
ZWxldGVEYXRhYmFzZQotRmlyc3QgY29ubmVjdGlvbiByZWNlaXZlZCB2ZXJzaW9uY2hhbmdlIGV2
ZW50OiBvbGRWZXJzaW9uIDAsIG5ld1ZlcnNpb24gbnVsbAorRmlyc3QgY29ubmVjdGlvbiByZWNl
aXZlZCB2ZXJzaW9uY2hhbmdlIGV2ZW50OiBvbGRWZXJzaW9uIDEsIG5ld1ZlcnNpb24gbnVsbAog
Rmlyc3QgdmVyc2lvbiBjaGFuZ2UgY29tcGxldGUKIG9wZW4gZGIgc3VjY2VzcwogRGVsZXRlIGRh
dGFiYXNlIHN1Y2Nlc3M6IG9sZFZlcnNpb24gMSwgbmV3VmVyc2lvbiBudWxsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNDNhYjVhNy4uZjFmNDdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE1LTEy
LTA3ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBNb2Rlcm4g
SURCOiBGaXggIm9sZCB2ZXJzaW9ucyIgd2hlbiB1cGdyYWRpbmcgZGF0YWJhc2VzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUxOTQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzICg1
IGZhaWxpbmcgdGVzdHMgbm93IHBhc3MsIGFuZCB1cGRhdGVkIHJlc3VsdHMgZm9yIGEgNnRoIHRl
c3QpLgorCisgICAgICAgIFRoaXMgaW5jbHVkZXMgdGhlIG9sZCB2ZXJzaW9uIG9uIHRoZSBJREJW
ZXJzaW9uQ2hhbmdlRXZlbnQsIGFzIHdlbGwgYXMgdGhlIHZlcnNpb24gdGhlIAorICAgICAgICBJ
REJEYXRhYmFzZSBpcyBsZWZ0IHdpdGggaWYgdGhlIHZlcnNpb24gY2hhbmdlIHRyYW5zYWN0aW9u
IGlzIGFib3J0ZWQuCisKKyAgICAgICAgUHJpbWFyeSBtZWNoYW5pc20gb2YgdGhlIGZpeCBpcyB0
byBpbmNsdWRlIHRoZSBvcmlnaW5hbCBJREJEYXRhYmFzZUluZm8gYWxvbmcgd2l0aCAKKyAgICAg
ICAgSURCVHJhbnNhY3Rpb25JbmZvcyB0aGF0IHJlcHJlc2VudCB2ZXJzaW9uIGNoYW5nZSB0cmFu
c2FjdGlvbnMuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9jbGllbnQvSURCRGF0YWJh
c2VJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCRGF0YWJhc2U6Ondp
bGxBYm9ydFRyYW5zYWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNsaWVudDo6SURCRGF0
YWJhc2U6OmRpZEFib3J0VHJhbnNhY3Rpb24pOgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkNsaWVudDo6SURCT3BlbkRCUmVxdWVzdDo6b25VcGdyYWRlTmVlZGVkKToKKworICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJUcmFuc2FjdGlvbjo6SURCVHJhbnNhY3Rpb24pOiBE
ZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50OjpJREJUcmFuc2FjdGlvbjo6Zmlu
aXNoQWJvcnRPckNvbW1pdCk6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
Y2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2xpZW50
OjpJREJUcmFuc2FjdGlvbjo6aW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpJREJDbGllbnQ6OklE
QlRyYW5zYWN0aW9uOjpvcmlnaW5hbERhdGFiYXNlSW5mbyk6CisKKyAgICAgICAgKiBNb2R1bGVz
L2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6c3RhcnRWZXJzaW9uQ2hhbmdlVHJhbnNh
Y3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6SURCU2VydmVyOjpVbmlxdWVJREJEYXRhYmFzZTo6
Y29tbWl0VHJhbnNhY3Rpb24pOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9V
bmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCU2Vy
dmVyOjpVbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb246OmNyZWF0ZVZlcnNpb25DaGFuZ2VUcmFu
c2FjdGlvbik6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNh
Y3Rpb25JbmZvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uSW5mbzo6dmVy
c2lvbkNoYW5nZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm86OklEQlRy
YW5zYWN0aW9uSW5mbyk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkluZm86Omlz
b2xhdGVkQ29weSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5z
YWN0aW9uSW5mby5oOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25JbmZvOjpvcmln
aW5hbERhdGFiYXNlSW5mbyk6CisKIDIwMTUtMTItMDcgIEd3YW5nIFlvb24gSHdhbmcgIDx5b29u
QGlnYWxpYS5jb20+CiAKICAgICAgICAgRml4IEdUSysgYnVpbGQgd2l0aCBHU3RyZWFtZXIgR0wK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJE
YXRhYmFzZUltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50
L0lEQkRhdGFiYXNlSW1wbC5jcHAKaW5kZXggN2ZlZmQwNi4uZGU2YjFhZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkRhdGFiYXNlSW1wbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQkRhdGFi
YXNlSW1wbC5jcHAKQEAgLTMwNyw4ICszMDcsMTEgQEAgdm9pZCBJREJEYXRhYmFzZTo6d2lsbEFi
b3J0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogICAgIEFTU0VSVChy
ZWZUcmFuc2FjdGlvbik7CiAgICAgbV9hYm9ydGluZ1RyYW5zYWN0aW9ucy5zZXQodHJhbnNhY3Rp
b24uaW5mbygpLmlkZW50aWZpZXIoKSwgV1RGOjptb3ZlKHJlZlRyYW5zYWN0aW9uKSk7CiAKLSAg
ICBpZiAodHJhbnNhY3Rpb24uaXNWZXJzaW9uQ2hhbmdlKCkpCisgICAgaWYgKHRyYW5zYWN0aW9u
LmlzVmVyc2lvbkNoYW5nZSgpKSB7CisgICAgICAgIEFTU0VSVCh0cmFuc2FjdGlvbi5vcmlnaW5h
bERhdGFiYXNlSW5mbygpKTsKKyAgICAgICAgbV9pbmZvID0gKnRyYW5zYWN0aW9uLm9yaWdpbmFs
RGF0YWJhc2VJbmZvKCk7CiAgICAgICAgIG1fY2xvc2VQZW5kaW5nID0gdHJ1ZTsKKyAgICB9CiB9
CiAKIHZvaWQgSURCRGF0YWJhc2U6OmRpZEFib3J0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24m
IHRyYW5zYWN0aW9uKQpAQCAtMzE3LDcgKzMyMCw3IEBAIHZvaWQgSURCRGF0YWJhc2U6OmRpZEFi
b3J0VHJhbnNhY3Rpb24oSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogCiAgICAgaWYgKHRy
YW5zYWN0aW9uLmlzVmVyc2lvbkNoYW5nZSgpKSB7CiAgICAgICAgIEFTU0VSVCh0cmFuc2FjdGlv
bi5vcmlnaW5hbERhdGFiYXNlSW5mbygpKTsKLSAgICAgICAgbV9pbmZvID0gKnRyYW5zYWN0aW9u
Lm9yaWdpbmFsRGF0YWJhc2VJbmZvKCk7CisgICAgICAgIEFTU0VSVChtX2luZm8udmVyc2lvbigp
ID09IHRyYW5zYWN0aW9uLm9yaWdpbmFsRGF0YWJhc2VJbmZvKCktPnZlcnNpb24oKSk7CiAgICAg
ICAgIG1fY2xvc2VQZW5kaW5nID0gdHJ1ZTsKICAgICAgICAgbV9jbG9zZWRJblNlcnZlciA9IHRy
dWU7CiAgICAgICAgIG1fc2VydmVyQ29ubmVjdGlvbi0+ZGF0YWJhc2VDb25uZWN0aW9uQ2xvc2Vk
KCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCT3BlbkRCUmVxdWVzdEltcGwuY3BwCmluZGV4IDBkYzY3YzcuLjQw
N2MzYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVu
dC9JREJPcGVuREJSZXF1ZXN0SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQk9wZW5EQlJlcXVlc3RJbXBsLmNwcApAQCAtMTE5LDggKzExOSw5
IEBAIHZvaWQgSURCT3BlbkRCUmVxdWVzdDo6b25VcGdyYWRlTmVlZGVkKGNvbnN0IElEQlJlc3Vs
dERhdGEmIHJlc3VsdERhdGEpCiAgICAgUmVmPElEQlRyYW5zYWN0aW9uPiB0cmFuc2FjdGlvbiA9
IGRhdGFiYXNlLT5zdGFydFZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbihyZXN1bHREYXRhLnRyYW5z
YWN0aW9uSW5mbygpLCAqdGhpcyk7CiAKICAgICBBU1NFUlQodHJhbnNhY3Rpb24tPmluZm8oKS5t
b2RlKCkgPT0gSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU6OlZlcnNpb25DaGFuZ2UpOworICAg
IEFTU0VSVCh0cmFuc2FjdGlvbi0+b3JpZ2luYWxEYXRhYmFzZUluZm8oKSk7CiAKLSAgICB1aW50
NjRfdCBvbGRWZXJzaW9uID0gZGF0YWJhc2UtPmluZm8oKS52ZXJzaW9uKCk7CisgICAgdWludDY0
X3Qgb2xkVmVyc2lvbiA9IHRyYW5zYWN0aW9uLT5vcmlnaW5hbERhdGFiYXNlSW5mbygpLT52ZXJz
aW9uKCk7CiAgICAgdWludDY0X3QgbmV3VmVyc2lvbiA9IHRyYW5zYWN0aW9uLT5pbmZvKCkubmV3
VmVyc2lvbigpOwogCiAgICAgTE9HKEluZGV4ZWREQiwgIklEQk9wZW5EQlJlcXVlc3Q6Om9uVXBn
cmFkZU5lZWRlZCgpIC0gY3VycmVudCB2ZXJzaW9uIGlzICUiIFBSSXU2NCAiLCBuZXcgaXMgJSIg
UFJJdTY0LCBvbGRWZXJzaW9uLCBuZXdWZXJzaW9uKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2NsaWVudC9JREJUcmFuc2FjdGlvbkltcGwuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5j
cHAKaW5kZXggMmZmZDU2YS4uZjQ3YzQwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5jcHAK
QEAgLTcxLDcgKzcxLDYgQEAgSURCVHJhbnNhY3Rpb246OklEQlRyYW5zYWN0aW9uKElEQkRhdGFi
YXNlJiBkYXRhYmFzZSwgY29uc3QgSURCVHJhbnNhY3Rpb25JbmZvJgogCiAgICAgaWYgKG1faW5m
by5tb2RlKCkgPT0gSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU6OlZlcnNpb25DaGFuZ2UpIHsK
ICAgICAgICAgQVNTRVJUKG1fb3BlbkRCUmVxdWVzdCk7Ci0gICAgICAgIG1fb3JpZ2luYWxEYXRh
YmFzZUluZm8gPSBzdGQ6Om1ha2VfdW5pcXVlPElEQkRhdGFiYXNlSW5mbz4obV9kYXRhYmFzZS0+
aW5mbygpKTsKICAgICAgICAgbV9zdGFydGVkT25TZXJ2ZXIgPSB0cnVlOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGFjdGl2YXRlKCk7CkBAIC0zMjYsOCArMzI1LDYgQEAgdm9pZCBJREJUcmFuc2Fj
dGlvbjo6ZmluaXNoQWJvcnRPckNvbW1pdCgpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgIT0gSW5k
ZXhlZERCOjpUcmFuc2FjdGlvblN0YXRlOjpGaW5pc2hlZCk7CiAgICAgbV9zdGF0ZSA9IEluZGV4
ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6RmluaXNoZWQ7Ci0KLSAgICBtX29yaWdpbmFsRGF0YWJh
c2VJbmZvID0gbnVsbHB0cjsKIH0KIAogdm9pZCBJREJUcmFuc2FjdGlvbjo6ZGlkU3RhcnQoY29u
c3QgSURCRXJyb3ImIGVycm9yKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvY2xpZW50L0lEQlRyYW5zYWN0aW9uSW1wbC5oCmluZGV4IGRjMGE3ZmIu
LjdlMDc4ZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL2Ns
aWVudC9JREJUcmFuc2FjdGlvbkltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9jbGllbnQvSURCVHJhbnNhY3Rpb25JbXBsLmgKQEAgLTgzLDEwICs4MywxMCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IG92ZXJy
aWRlIGZpbmFsOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wKCkgb3ZlcnJpZGUgZmluYWw7CiAKLSAg
ICBjb25zdCBJREJUcmFuc2FjdGlvbkluZm8gaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1faW5mbzsg
fQorICAgIGNvbnN0IElEQlRyYW5zYWN0aW9uSW5mbyYgaW5mbygpIGNvbnN0IHsgcmV0dXJuIG1f
aW5mbzsgfQogICAgIElEQkRhdGFiYXNlJiBkYXRhYmFzZSgpIHsgcmV0dXJuIG1fZGF0YWJhc2Uu
Z2V0KCk7IH0KICAgICBjb25zdCBJREJEYXRhYmFzZSYgZGF0YWJhc2UoKSBjb25zdCB7IHJldHVy
biBtX2RhdGFiYXNlLmdldCgpOyB9Ci0gICAgSURCRGF0YWJhc2VJbmZvKiBvcmlnaW5hbERhdGFi
YXNlSW5mbygpIGNvbnN0IHsgcmV0dXJuIG1fb3JpZ2luYWxEYXRhYmFzZUluZm8uZ2V0KCk7IH0K
KyAgICBJREJEYXRhYmFzZUluZm8qIG9yaWdpbmFsRGF0YWJhc2VJbmZvKCkgY29uc3QgeyByZXR1
cm4gbV9pbmZvLm9yaWdpbmFsRGF0YWJhc2VJbmZvKCk7IH0KIAogICAgIHZvaWQgZGlkU3RhcnQo
Y29uc3QgSURCRXJyb3ImKTsKICAgICB2b2lkIGRpZEFib3J0KGNvbnN0IElEQkVycm9yJik7CkBA
IC0xODgsNyArMTg4LDYgQEAgcHJpdmF0ZToKIAogICAgIFJlZjxJREJEYXRhYmFzZT4gbV9kYXRh
YmFzZTsKICAgICBJREJUcmFuc2FjdGlvbkluZm8gbV9pbmZvOwotICAgIHN0ZDo6dW5pcXVlX3B0
cjxJREJEYXRhYmFzZUluZm8+IG1fb3JpZ2luYWxEYXRhYmFzZUluZm87CiAKICAgICBJbmRleGVk
REI6OlRyYW5zYWN0aW9uU3RhdGUgbV9zdGF0ZSB7IEluZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0
ZTo6SW5hY3RpdmUgfTsKICAgICBib29sIG1fc3RhcnRlZE9uU2VydmVyIHsgZmFsc2UgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJ
REJEYXRhYmFzZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIv
VW5pcXVlSURCRGF0YWJhc2UuY3BwCmluZGV4IGFjYWM3ZWIuLmYyYmQ2YzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2VydmVyL1VuaXF1
ZUlEQkRhdGFiYXNlLmNwcApAQCAtMjUxLDYgKzI1MSw4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJh
c2U6OnN0YXJ0VmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uKCkKICAgICBhZGRPcGVuRGF0YWJhc2VD
b25uZWN0aW9uKCptX3ZlcnNpb25DaGFuZ2VEYXRhYmFzZUNvbm5lY3Rpb24pOwogCiAgICAgbV92
ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gPSAmbV92ZXJzaW9uQ2hhbmdlRGF0YWJhc2VDb25uZWN0
aW9uLT5jcmVhdGVWZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24ocmVxdWVzdGVkVmVyc2lvbik7Cisg
ICAgbV9kYXRhYmFzZUluZm8tPnNldFZlcnNpb24ocmVxdWVzdGVkVmVyc2lvbik7CisKICAgICBt
X2luUHJvZ3Jlc3NUcmFuc2FjdGlvbnMuc2V0KG1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uLT5p
bmZvKCkuaWRlbnRpZmllcigpLCBtX3ZlcnNpb25DaGFuZ2VUcmFuc2FjdGlvbik7CiAgICAgbV9z
ZXJ2ZXIucG9zdERhdGFiYXNlVGFzayhjcmVhdGVDcm9zc1RocmVhZFRhc2soKnRoaXMsICZVbmlx
dWVJREJEYXRhYmFzZTo6YmVnaW5UcmFuc2FjdGlvbkluQmFja2luZ1N0b3JlLCBtX3ZlcnNpb25D
aGFuZ2VUcmFuc2FjdGlvbi0+aW5mbygpKSk7CiAKQEAgLTc3MSw3ICs3NzMsOCBAQCB2b2lkIFVu
aXF1ZUlEQkRhdGFiYXNlOjpjb21taXRUcmFuc2FjdGlvbihVbmlxdWVJREJEYXRhYmFzZVRyYW5z
YWN0aW9uJiB0cmFuc2FjdAogCiAgICAgaWYgKG1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uID09
ICZ0cmFuc2FjdGlvbikgewogICAgICAgICBBU1NFUlQoJm1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0
aW9uLT5kYXRhYmFzZUNvbm5lY3Rpb24oKSA9PSBtX3ZlcnNpb25DaGFuZ2VEYXRhYmFzZUNvbm5l
Y3Rpb24pOwotICAgICAgICBtX2RhdGFiYXNlSW5mby0+c2V0VmVyc2lvbih0cmFuc2FjdGlvbi5p
bmZvKCkubmV3VmVyc2lvbigpKTsKKyAgICAgICAgQVNTRVJUKG1fZGF0YWJhc2VJbmZvLT52ZXJz
aW9uKCkgPT0gdHJhbnNhY3Rpb24uaW5mbygpLm5ld1ZlcnNpb24oKSk7CisKICAgICAgICAgbV92
ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24gPSBudWxscHRyOwogICAgICAgICBtX3ZlcnNpb25DaGFu
Z2VEYXRhYmFzZUNvbm5lY3Rpb24gPSBudWxscHRyOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zZXJ2ZXIvVW5pcXVlSURCRGF0YWJhc2VDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJE
YXRhYmFzZUNvbm5lY3Rpb24uY3BwCmluZGV4IGNjOGExNWIuLmZhYjY4ZTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NlcnZlci9VbmlxdWVJREJEYXRhYmFz
ZUNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3Nl
cnZlci9VbmlxdWVJREJEYXRhYmFzZUNvbm5lY3Rpb24uY3BwCkBAIC04NSw3ICs4NSw3IEBAIFVu
aXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb24mIFVuaXF1ZUlEQkRhdGFiYXNlQ29ubmVjdGlvbjo6
Y3JlYXRlVmVyc2lvbkNoYW5nZVRyCiAgICAgTE9HKEluZGV4ZWREQiwgIlVuaXF1ZUlEQkRhdGFi
YXNlQ29ubmVjdGlvbjo6Y3JlYXRlVmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uIik7CiAgICAgQVNT
RVJUKCFtX2Nsb3NlUGVuZGluZyk7CiAKLSAgICBJREJUcmFuc2FjdGlvbkluZm8gaW5mbyA9IElE
QlRyYW5zYWN0aW9uSW5mbzo6dmVyc2lvbkNoYW5nZShtX2Nvbm5lY3Rpb25Ub0NsaWVudCwgbmV3
VmVyc2lvbik7CisgICAgSURCVHJhbnNhY3Rpb25JbmZvIGluZm8gPSBJREJUcmFuc2FjdGlvbklu
Zm86OnZlcnNpb25DaGFuZ2UobV9jb25uZWN0aW9uVG9DbGllbnQsIG1fZGF0YWJhc2UuaW5mbygp
LCBuZXdWZXJzaW9uKTsKIAogICAgIFJlZjxVbmlxdWVJREJEYXRhYmFzZVRyYW5zYWN0aW9uPiB0
cmFuc2FjdGlvbiA9IFVuaXF1ZUlEQkRhdGFiYXNlVHJhbnNhY3Rpb246OmNyZWF0ZSgqdGhpcywg
aW5mbyk7CiAgICAgbV90cmFuc2FjdGlvbk1hcC5zZXQodHJhbnNhY3Rpb24tPmluZm8oKS5pZGVu
dGlmaWVyKCksICZ0cmFuc2FjdGlvbi5nZXQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25JbmZvLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uY3Bw
CmluZGV4IDkxZGE4NTMuLjFjODgzZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uY3BwCkBA
IC00NCwxNSArNDQsMjYgQEAgSURCVHJhbnNhY3Rpb25JbmZvIElEQlRyYW5zYWN0aW9uSW5mbzo6
Y2xpZW50VHJhbnNhY3Rpb24oY29uc3QgSURCQ2xpZW50OjpJREJDb24KICAgICByZXR1cm4gcmVz
dWx0OwogfQogCi1JREJUcmFuc2FjdGlvbkluZm8gSURCVHJhbnNhY3Rpb25JbmZvOjp2ZXJzaW9u
Q2hhbmdlKGNvbnN0IElEQlNlcnZlcjo6SURCQ29ubmVjdGlvblRvQ2xpZW50JiBjb25uZWN0aW9u
LCB1aW50NjRfdCBuZXdWZXJzaW9uKQorSURCVHJhbnNhY3Rpb25JbmZvIElEQlRyYW5zYWN0aW9u
SW5mbzo6dmVyc2lvbkNoYW5nZShjb25zdCBJREJTZXJ2ZXI6OklEQkNvbm5lY3Rpb25Ub0NsaWVu
dCYgY29ubmVjdGlvbiwgY29uc3QgSURCRGF0YWJhc2VJbmZvJiBvcmlnaW5hbERhdGFiYXNlSW5m
bywgdWludDY0X3QgbmV3VmVyc2lvbikKIHsKICAgICBJREJUcmFuc2FjdGlvbkluZm8gcmVzdWx0
KChJREJSZXNvdXJjZUlkZW50aWZpZXIoY29ubmVjdGlvbikpKTsKICAgICByZXN1bHQubV9tb2Rl
ID0gSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU6OlZlcnNpb25DaGFuZ2U7CiAgICAgcmVzdWx0
Lm1fbmV3VmVyc2lvbiA9IG5ld1ZlcnNpb247CisgICAgcmVzdWx0Lm1fb3JpZ2luYWxEYXRhYmFz
ZUluZm8gPSBzdGQ6Om1ha2VfdW5pcXVlPElEQkRhdGFiYXNlSW5mbz4ob3JpZ2luYWxEYXRhYmFz
ZUluZm8pOwogCiAgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHQpOwogfQogCitJREJUcmFuc2Fj
dGlvbkluZm86OklEQlRyYW5zYWN0aW9uSW5mbyhjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mIGlu
Zm8pCisgICAgOiBtX2lkZW50aWZpZXIoaW5mby5pZGVudGlmaWVyKCkpCisgICAgLCBtX21vZGUo
aW5mby5tX21vZGUpCisgICAgLCBtX25ld1ZlcnNpb24oaW5mby5tX25ld1ZlcnNpb24pCisgICAg
LCBtX29iamVjdFN0b3JlcyhpbmZvLm1fb2JqZWN0U3RvcmVzKQoreworICAgIGlmIChpbmZvLm1f
b3JpZ2luYWxEYXRhYmFzZUluZm8pCisgICAgICAgIG1fb3JpZ2luYWxEYXRhYmFzZUluZm8gPSBz
dGQ6Om1ha2VfdW5pcXVlPElEQkRhdGFiYXNlSW5mbz4oKmluZm8ubV9vcmlnaW5hbERhdGFiYXNl
SW5mbyk7Cit9CisKIElEQlRyYW5zYWN0aW9uSW5mbyBJREJUcmFuc2FjdGlvbkluZm86Omlzb2xh
dGVkQ29weSgpIGNvbnN0CiB7CiAgICAgSURCVHJhbnNhY3Rpb25JbmZvIHJlc3VsdChtX2lkZW50
aWZpZXIpOwpAQCAtNjMsNiArNzQsOSBAQCBJREJUcmFuc2FjdGlvbkluZm8gSURCVHJhbnNhY3Rp
b25JbmZvOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgIGZvciAoYXV0byYgb2JqZWN0U3RvcmUg
OiBtX29iamVjdFN0b3JlcykKICAgICAgICAgcmVzdWx0Lm1fb2JqZWN0U3RvcmVzLnVuY2hlY2tl
ZEFwcGVuZChvYmplY3RTdG9yZS5pc29sYXRlZENvcHkoKSk7CiAKKyAgICBpZiAobV9vcmlnaW5h
bERhdGFiYXNlSW5mbykKKyAgICAgICAgcmVzdWx0Lm1fb3JpZ2luYWxEYXRhYmFzZUluZm8gPSBz
dGQ6Om1ha2VfdW5pcXVlPElEQkRhdGFiYXNlSW5mbz4oKm1fb3JpZ2luYWxEYXRhYmFzZUluZm8p
OworCiAgICAgcmV0dXJuIFdURjo6bW92ZShyZXN1bHQpOwogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25JbmZvLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCVHJhbnNhY3Rpb25J
bmZvLmgKaW5kZXggMTlmOWM1Ny4uYjE3MjgwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQlRyYW5zYWN0aW9uSW5mby5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJUcmFuc2FjdGlvbkluZm8uaApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAKKyNpbmNs
dWRlICJJREJEYXRhYmFzZUluZm8uaCIKICNpbmNsdWRlICJJREJSZXNvdXJjZUlkZW50aWZpZXIu
aCIKICNpbmNsdWRlICJJbmRleGVkREIuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CkBAIC00
NSw3ICs0Niw5IEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Ub0NsaWVudDsKIGNsYXNzIElEQlRyYW5z
YWN0aW9uSW5mbyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIElEQlRyYW5zYWN0aW9uSW5mbyBjbGll
bnRUcmFuc2FjdGlvbihjb25zdCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Ub1NlcnZlciYsIGNv
bnN0IFZlY3RvcjxTdHJpbmc+JiBvYmplY3RTdG9yZXMsIEluZGV4ZWREQjo6VHJhbnNhY3Rpb25N
b2RlKTsKLSAgICBzdGF0aWMgSURCVHJhbnNhY3Rpb25JbmZvIHZlcnNpb25DaGFuZ2UoY29uc3Qg
SURCU2VydmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmLCB1aW50NjRfdCBuZXdWZXJzaW9uKTsK
KyAgICBzdGF0aWMgSURCVHJhbnNhY3Rpb25JbmZvIHZlcnNpb25DaGFuZ2UoY29uc3QgSURCU2Vy
dmVyOjpJREJDb25uZWN0aW9uVG9DbGllbnQmLCBjb25zdCBJREJEYXRhYmFzZUluZm8mIG9yaWdp
bmFsRGF0YWJhc2VJbmZvLCB1aW50NjRfdCBuZXdWZXJzaW9uKTsKKworICAgIElEQlRyYW5zYWN0
aW9uSW5mbyhjb25zdCBJREJUcmFuc2FjdGlvbkluZm8mKTsKIAogICAgIElEQlRyYW5zYWN0aW9u
SW5mbyBpc29sYXRlZENvcHkoKSBjb25zdDsKIApAQCAtNTYsNiArNTksOCBAQCBwdWJsaWM6CiAK
ICAgICBjb25zdCBWZWN0b3I8U3RyaW5nPiYgb2JqZWN0U3RvcmVzKCkgY29uc3QgeyByZXR1cm4g
bV9vYmplY3RTdG9yZXM7IH0KIAorICAgIElEQkRhdGFiYXNlSW5mbyogb3JpZ2luYWxEYXRhYmFz
ZUluZm8oKSBjb25zdCB7IHJldHVybiBtX29yaWdpbmFsRGF0YWJhc2VJbmZvLmdldCgpOyB9CisK
IHByaXZhdGU6CiAgICAgSURCVHJhbnNhY3Rpb25JbmZvKGNvbnN0IElEQlJlc291cmNlSWRlbnRp
ZmllciYpOwogCkBAIC02NCw2ICs2OSw3IEBAIHByaXZhdGU6CiAgICAgSW5kZXhlZERCOjpUcmFu
c2FjdGlvbk1vZGUgbV9tb2RlIHsgSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGU6OlJlYWRPbmx5
IH07CiAgICAgdWludDY0X3QgbV9uZXdWZXJzaW9uIHsgMCB9OwogICAgIFZlY3RvcjxTdHJpbmc+
IG1fb2JqZWN0U3RvcmVzOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJREJEYXRhYmFzZUluZm8+IG1f
b3JpZ2luYWxEYXRhYmFzZUluZm87CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>