<?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>165912</bug_id>
          
          <creation_ts>2016-12-15 12:34:50 -0800</creation_ts>
          <short_desc>Add a new Logging Channel for IndexedDB Operation scheduling</short_desc>
          <delta_ts>2016-12-15 14:09:06 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160306</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>1260207</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-12-15 12:34:50 -0800</bug_when>
    <thetext>Add a new Logging Channel for IndexedDB Operation scheduling

This will help focus on exactly what JS is doing with IDB, instead of logging how our IDB implementation works internally.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260211</commentid>
    <comment_count>1</comment_count>
      <attachid>297211</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2016-12-15 12:37:57 -0800</bug_when>
    <thetext>Created attachment 297211
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260248</commentid>
    <comment_count>2</comment_count>
      <attachid>297211</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-15 14:09:03 -0800</bug_when>
    <thetext>Comment on attachment 297211
Patch

Clearing flags on attachment: 297211

Committed r209873: &lt;http://trac.webkit.org/changeset/209873&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1260249</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-15 14:09:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297211</attachid>
            <date>2016-12-15 12:37:57 -0800</date>
            <delta_ts>2016-12-15 14:09:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165912-20161215123705.patch</filename>
            <type>text/plain</type>
            <size>25604</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5ODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzM0MTVhYzAwMjY0NzRj
NWFlMDJmYTAzYmZiZWRkYTYwNGE2NGI4YS4uMDU3NTAyMGRhNzk1NjVhYWQ2ZGU3NGU3YzEwZjQ2
ZjE2NmE3MDk1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY1IEBACisyMDE2LTEyLTE1ICBCcmFk
eSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgYSBuZXcgTG9nZ2lu
ZyBDaGFubmVsIGZvciBJbmRleGVkREIgT3BlcmF0aW9uIHNjaGVkdWxpbmcuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU5MTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMgKE5vIGJl
aGF2aW9yIGNoYW5nZSkuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFz
ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24pOgorICAg
ICAgICAKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJGYWN0b3J5LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkZhY3Rvcnk6Om9wZW5JbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFzZSk6CisgICAgICAgIAorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRy
YW5zYWN0aW9uOjppbnRlcm5hbEFib3J0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0
aW9uOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmNyZWF0ZU9i
amVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpyZW5hbWVPYmpl
Y3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6Y3JlYXRlSW5kZXgp
OgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnJlbmFtZUluZGV4KToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpkb1JlcXVlc3RPcGVuQ3Vyc29yKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjppdGVyYXRlQ3Vyc29yKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0R2V0QWxsT2JqZWN0U3RvcmVSZWNvcmRzKToK
KyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0R2V0QWxsSW5kZXhSZWNv
cmRzKToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0R2V0UmVjb3Jk
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0SW5kZXhSZWNvcmQp
OgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnJlcXVlc3RDb3VudCk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6cmVxdWVzdERlbGV0ZVJlY29yZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6cmVxdWVzdENsZWFyT2JqZWN0U3RvcmUpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnJlcXVlc3RQdXRPckFkZCk6CisgICAg
ICAgIChXZWJDb3JlOjpJREJUcmFuc2FjdGlvbjo6ZGVsZXRlT2JqZWN0U3RvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OmRlbGV0ZUluZGV4KToKKyAgICAgICAgCisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ3Vyc29ySW5mbzo6bG9nZ2luZ1N0cmluZyk6CisgICAgICAgICogTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uaDoKKyAgICAgICAgCisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldEFsbFJlY29yZHNEYXRhLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkdldEFsbFJlY29yZHNEYXRhOjpsb2dnaW5nU3RyaW5nKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0QWxsUmVjb3Jkc0RhdGEuaDoK
KyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29y
ZERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCR2V0UmVjb3JkRGF0YTo6bG9nZ2luZ1N0
cmluZyk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERh
dGEuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQklu
ZGV4SW5mby5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEluZm86OmNvbmRlbnNlZExv
Z2dpbmdTdHJpbmcpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJbmRl
eEluZm8uaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lE
Qkl0ZXJhdGVDdXJzb3JEYXRhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkl0ZXJhdGVDdXJz
b3JEYXRhOjpsb2dnaW5nU3RyaW5nKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9zaGFy
ZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuaDoKKyAgICAgICAgCisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQk9iamVjdFN0b3JlSW5mby5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJREJPYmplY3RTdG9yZUluZm86OmNvbmRlbnNlZExvZ2dpbmdTdHJpbmcpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uaDoKKyAgICAgICAg
CisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5oOgorCiAyMDE2LTEyLTE0ICBEZWFuIEphY2tz
b24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBNZWRpYURvY3VtZW50cyBoYXZl
IGNvbnRyb2xzIG9uIHRoZSBib3R0b20gb2YgdGhlIHBhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAppbmRleCAzZTdlNjExYWQyNjBlOTAx
MjZmMmRlMGFhMjEwOGUxY2QxN2FlM2U4Li5mYWQ1ODVjYTEyYTQ1ZDU0MjMzMzEyOGQzNzRjZTkx
NDNjMzRiZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
RGF0YWJhc2UuY3BwCkBAIC0yMDMsNiArMjAzLDggQEAgRXhjZXB0aW9uT3I8UmVmPElEQlRyYW5z
YWN0aW9uPj4gSURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKFN0cmluZ09yVmVjdG9yT2ZTdHJpbmcK
ICAgICB9CiAKICAgICBhdXRvIGluZm8gPSBJREJUcmFuc2FjdGlvbkluZm86OmNsaWVudFRyYW5z
YWN0aW9uKG1fY29ubmVjdGlvblByb3h5LmdldCgpLCBvYmplY3RTdG9yZXMsIG1vZGUpOworCisg
ICAgTE9HKEluZGV4ZWREQk9wZXJhdGlvbnMsICJJREIgY3JlYXRpbmcgdHJhbnNhY3Rpb246ICVz
IiwgaW5mby5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgYXV0byB0cmFuc2Fj
dGlvbiA9IElEQlRyYW5zYWN0aW9uOjpjcmVhdGUoKnRoaXMsIGluZm8pOwogCiAgICAgTE9HKElu
ZGV4ZWREQiwgIklEQkRhdGFiYXNlOjp0cmFuc2FjdGlvbiAtIEFkZGVkIGFjdGl2ZSB0cmFuc2Fj
dGlvbiAlcyIsIGluZm8uaWRlbnRpZmllcigpLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkZhY3Rv
cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAK
aW5kZXggNzhjMTg4YjUyMDEwN2I4MWZjMDA1NDVlMjJkZDdlMjUyMTQ2NzU2My4uNWE0ZWNhMTJj
OTU1OGJlOWJlYzIyODU5NDcyZGJkOTVjMDM3NmZkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCRmFjdG9yeS5jcHAKQEAgLTEwMCw2ICsxMDAsOCBAQCBFeGNl
cHRpb25PcjxSZWY8SURCT3BlbkRCUmVxdWVzdD4+IElEQkZhY3Rvcnk6Om9wZW5JbnRlcm5hbChT
Y3JpcHRFeGVjdXRpb25Db250ZQogICAgIGlmICghZGF0YWJhc2VJZGVudGlmaWVyLmlzVmFsaWQo
KSkKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFR5cGVFcnJvciwgQVNDSUlMaXRlcmFsKCJJ
REJGYWN0b3J5Lm9wZW4oKSBjYWxsZWQgd2l0aCBhbiBpbnZhbGlkIHNlY3VyaXR5IG9yaWdpbiIp
IH07CiAKKyAgICBMT0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBvcGVuaW5nIGRhdGFiYXNl
OiAlcyAlIiBQUkl1NjQsIG5hbWUudXRmOCgpLmRhdGEoKSwgdmVyc2lvbik7CisKICAgICByZXR1
cm4gbV9jb25uZWN0aW9uUHJveHktPm9wZW5EYXRhYmFzZShjb250ZXh0LCBkYXRhYmFzZUlkZW50
aWZpZXIsIHZlcnNpb24pOwogfQogCkBAIC0xMTksNiArMTIxLDggQEAgRXhjZXB0aW9uT3I8UmVm
PElEQk9wZW5EQlJlcXVlc3Q+PiBJREJGYWN0b3J5OjpkZWxldGVEYXRhYmFzZShTY3JpcHRFeGVj
dXRpb25Db24KICAgICBpZiAoIWRhdGFiYXNlSWRlbnRpZmllci5pc1ZhbGlkKCkpCiAgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiSURCRmFjdG9yeS5k
ZWxldGVEYXRhYmFzZSgpIGNhbGxlZCB3aXRoIGFuIGludmFsaWQgc2VjdXJpdHkgb3JpZ2luIikg
fTsKIAorICAgIExPRyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIGRlbGV0aW5nIGRhdGFiYXNl
OiAlcyIsIG5hbWUudXRmOCgpLmRhdGEoKSk7CisKICAgICByZXR1cm4gbV9jb25uZWN0aW9uUHJv
eHktPmRlbGV0ZURhdGFiYXNlKGNvbnRleHQsIGRhdGFiYXNlSWRlbnRpZmllcik7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNw
cAppbmRleCA1M2Q0NDg2ZGFiNGZmNjJmOTZkNDliMDYyMGE1ODBiOTIyY2YyMzViLi5mOWFhMDNi
NWFmYThhNzc3YTVmMmE1MzlhNTA4YjFkZTYwZjFlN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0yNDksNiArMjQ5
LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6aW50ZXJuYWxBYm9ydCgpCiAgICAgCiAgICAgbV9h
Ym9ydFF1ZXVlLnN3YXAobV9wZW5kaW5nVHJhbnNhY3Rpb25PcGVyYXRpb25RdWV1ZSk7CiAKKyAg
ICBMT0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBhYm9ydC1vbi1zZXJ2ZXIgb3BlcmF0aW9u
OiBUcmFuc2FjdGlvbiAlcyIsIGluZm8oKS5pZGVudGlmaWVyKCkubG9nZ2luZ1N0cmluZygpLnV0
ZjgoKS5kYXRhKCkpOwogICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6Y3JlYXRlVHJh
bnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIG51bGxwdHIsICZJREJUcmFuc2FjdGlvbjo6YWJvcnRP
blNlcnZlckFuZENhbmNlbFJlcXVlc3RzKSk7CiB9CiAKQEAgLTQ5OSw2ICs1MDAsNyBAQCB2b2lk
IElEQlRyYW5zYWN0aW9uOjpjb21taXQoKQogICAgIHRyYW5zaXRpb25lZFRvRmluaXNoaW5nKElu
ZGV4ZWREQjo6VHJhbnNhY3Rpb25TdGF0ZTo6Q29tbWl0dGluZyk7CiAgICAgbV9kYXRhYmFzZS0+
d2lsbENvbW1pdFRyYW5zYWN0aW9uKCp0aGlzKTsKIAorICAgIExPRyhJbmRleGVkREJPcGVyYXRp
b25zLCAiSURCIGNvbW1pdCBvcGVyYXRpb246IFRyYW5zYWN0aW9uICVzIiwgaW5mbygpLmlkZW50
aWZpZXIoKS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2NoZWR1bGVPcGVy
YXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgbnVsbHB0
ciwgJklEQlRyYW5zYWN0aW9uOjpjb21taXRPblNlcnZlcikpOwogfQogCkBAIC02NjAsNiArNjYy
LDcgQEAgUmVmPElEQk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6Y3JlYXRlT2JqZWN0U3Rv
cmUoY29uc3QgSURCT2JqZWN0U3RvcmVJbmZvJgogICAgIGF1dG8qIHJhd09iamVjdFN0b3JlID0g
b2JqZWN0U3RvcmUuZ2V0KCk7CiAgICAgbV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLnNldChpbmZv
Lm5hbWUoKSwgV1RGTW92ZShvYmplY3RTdG9yZSkpOwogCisgICAgTE9HKEluZGV4ZWREQk9wZXJh
dGlvbnMsICJJREIgY3JlYXRlIG9iamVjdCBzdG9yZSBvcGVyYXRpb246ICVzIiwgaW5mby5jb25k
ZW5zZWRMb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2NoZWR1bGVPcGVyYXRp
b24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgJklEQlRyYW5z
YWN0aW9uOjpkaWRDcmVhdGVPYmplY3RTdG9yZU9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmNy
ZWF0ZU9iamVjdFN0b3JlT25TZXJ2ZXIsIGluZm8pKTsKIAogICAgIHJldHVybiAqcmF3T2JqZWN0
U3RvcmU7CkBAIC02OTYsNiArNjk5LDggQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6cmVuYW1lT2Jq
ZWN0U3RvcmUoSURCT2JqZWN0U3RvcmUmIG9iamVjdFN0b3JlLCBjb25zdCBTdHJpbmcKICAgICBB
U1NFUlQobV9yZWZlcmVuY2VkT2JqZWN0U3RvcmVzLmdldChvYmplY3RTdG9yZS5pbmZvKCkubmFt
ZSgpKSA9PSAmb2JqZWN0U3RvcmUpOwogCiAgICAgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlm
aWVyID0gb2JqZWN0U3RvcmUuaW5mbygpLmlkZW50aWZpZXIoKTsKKworICAgIExPRyhJbmRleGVk
REJPcGVyYXRpb25zLCAiSURCIHJlbmFtZSBvYmplY3Qgc3RvcmUgb3BlcmF0aW9uOiAlcyB0byAl
cyIsIG9iamVjdFN0b3JlLmluZm8oKS5jb25kZW5zZWRMb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRh
dGEoKSwgbmV3TmFtZS51dGY4KCkuZGF0YSgpKTsKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJD
bGllbnQ6OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCAmSURCVHJhbnNhY3Rpb246
OmRpZFJlbmFtZU9iamVjdFN0b3JlT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6cmVuYW1lT2Jq
ZWN0U3RvcmVPblNlcnZlciwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBuZXdOYW1lKSk7CiAKICAg
ICBtX3JlZmVyZW5jZWRPYmplY3RTdG9yZXMuc2V0KG5ld05hbWUsIG1fcmVmZXJlbmNlZE9iamVj
dFN0b3Jlcy50YWtlKG9iamVjdFN0b3JlLmluZm8oKS5uYW1lKCkpKTsKQEAgLTcyNiw2ICs3MzEs
NyBAQCBzdGQ6OnVuaXF1ZV9wdHI8SURCSW5kZXg+IElEQlRyYW5zYWN0aW9uOjpjcmVhdGVJbmRl
eChJREJPYmplY3RTdG9yZSYgb2JqZWN0U3RvcgogICAgIGlmICghc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAorICAgIExPRyhJbmRleGVkREJPcGVy
YXRpb25zLCAiSURCIGNyZWF0ZSBpbmRleCBvcGVyYXRpb246ICVzIHVuZGVyIG9iamVjdCBzdG9y
ZSAlcyIsIGluZm8uY29uZGVuc2VkTG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIG9iamVj
dFN0b3JlLmluZm8oKS5jb25kZW5zZWRMb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAg
ICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlv
bigqdGhpcywgJklEQlRyYW5zYWN0aW9uOjpkaWRDcmVhdGVJbmRleE9uU2VydmVyLCAmSURCVHJh
bnNhY3Rpb246OmNyZWF0ZUluZGV4T25TZXJ2ZXIsIGluZm8pKTsKIAogICAgIHJldHVybiBzdGQ6
Om1ha2VfdW5pcXVlPElEQkluZGV4Pigqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBpbmZvLCBv
YmplY3RTdG9yZSk7CkBAIC03NzQsNiArNzgwLDggQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6cmVu
YW1lSW5kZXgoSURCSW5kZXgmIGluZGV4LCBjb25zdCBTdHJpbmcmIG5ld05hbWUpCiAKICAgICB1
aW50NjRfdCBvYmplY3RTdG9yZUlkZW50aWZpZXIgPSBpbmRleC5vYmplY3RTdG9yZSgpLmluZm8o
KS5pZGVudGlmaWVyKCk7CiAgICAgdWludDY0X3QgaW5kZXhJZGVudGlmaWVyID0gaW5kZXguaW5m
bygpLmlkZW50aWZpZXIoKTsKKworICAgIExPRyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIHJl
bmFtZSBpbmRleCBvcGVyYXRpb246ICVzIHRvICVzIHVuZGVyIG9iamVjdCBzdG9yZSAlIiBQUkl1
NjQsIGluZGV4LmluZm8oKS5jb25kZW5zZWRMb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
bmV3TmFtZS51dGY4KCkuZGF0YSgpLCBpbmRleC5pbmZvKCkub2JqZWN0U3RvcmVJZGVudGlmaWVy
KCkpOwogICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25P
cGVyYXRpb24oKnRoaXMsICZJREJUcmFuc2FjdGlvbjo6ZGlkUmVuYW1lSW5kZXhPblNlcnZlciwg
JklEQlRyYW5zYWN0aW9uOjpyZW5hbWVJbmRleE9uU2VydmVyLCBvYmplY3RTdG9yZUlkZW50aWZp
ZXIsIGluZGV4SWRlbnRpZmllciwgbmV3TmFtZSkpOwogfQogCkBAIC04MjUsNiArODMzLDcgQEAg
UmVmPElEQlJlcXVlc3Q+IElEQlRyYW5zYWN0aW9uOjpkb1JlcXVlc3RPcGVuQ3Vyc29yKEV4ZWNT
dGF0ZSYgc3RhdGUsIFJlZjxJREJDdXIKICAgICBhdXRvIHJlcXVlc3QgPSBJREJSZXF1ZXN0Ojpj
cmVhdGUoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgY3Vyc29yLmdldCgpLCAqdGhpcyk7CiAg
ICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAorICAgIExPRyhJbmRleGVkREJPcGVyYXRp
b25zLCAiSURCIG9wZW4gY3Vyc29yIG9wZXJhdGlvbjogJXMiLCBjdXJzb3ItPmluZm8oKS5sb2dn
aW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xp
ZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklE
QlRyYW5zYWN0aW9uOjpkaWRPcGVuQ3Vyc29yT25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6b3Bl
bkN1cnNvck9uU2VydmVyLCBjdXJzb3ItPmluZm8oKSkpOwogCiAgICAgcmV0dXJuIHJlcXVlc3Q7
CkBAIC04NTUsNiArODY0LDcgQEAgdm9pZCBJREJUcmFuc2FjdGlvbjo6aXRlcmF0ZUN1cnNvcihJ
REJDdXJzb3ImIGN1cnNvciwgY29uc3QgSURCSXRlcmF0ZUN1cnNvckRhdGEKIAogICAgIGFkZFJl
cXVlc3QoKmN1cnNvci5yZXF1ZXN0KCkpOwogCisgICAgTE9HKEluZGV4ZWREQk9wZXJhdGlvbnMs
ICJJREIgaXRlcmF0ZSBjdXJzb3Igb3BlcmF0aW9uOiAlcyIsIGRhdGEubG9nZ2luZ1N0cmluZygp
LnV0ZjgoKS5kYXRhKCkpOwogICAgIHNjaGVkdWxlT3BlcmF0aW9uKElEQkNsaWVudDo6Y3JlYXRl
VHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsICpjdXJzb3IucmVxdWVzdCgpLCAmSURCVHJhbnNh
Y3Rpb246OmRpZEl0ZXJhdGVDdXJzb3JPblNlcnZlciwgJklEQlRyYW5zYWN0aW9uOjppdGVyYXRl
Q3Vyc29yT25TZXJ2ZXIsIGRhdGEpKTsKIH0KIApAQCAtODg4LDYgKzg5OCw3IEBAIFJlZjxJREJS
ZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldEFsbE9iamVjdFN0b3JlUmVjb3JkcyhK
U0M6OkV4ZWNTdGF0ZSYKIAogICAgIElEQkdldEFsbFJlY29yZHNEYXRhIGdldEFsbFJlY29yZHNE
YXRhIHsga2V5UmFuZ2VEYXRhLCBnZXRBbGxUeXBlLCBjb3VudCwgb2JqZWN0U3RvcmUuaW5mbygp
LmlkZW50aWZpZXIoKSwgMCB9OwogCisgICAgTE9HKEluZGV4ZWREQk9wZXJhdGlvbnMsICJJREIg
Z2V0IGFsbCBvYmplY3Qgc3RvcmUgcmVjb3JkcyBvcGVyYXRpb246ICVzIiwgZ2V0QWxsUmVjb3Jk
c0RhdGEubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNjaGVkdWxlT3BlcmF0
aW9uKElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIHJlcXVlc3Qu
Z2V0KCksICZJREJUcmFuc2FjdGlvbjo6ZGlkR2V0QWxsUmVjb3Jkc09uU2VydmVyLCAmSURCVHJh
bnNhY3Rpb246OmdldEFsbFJlY29yZHNPblNlcnZlciwgZ2V0QWxsUmVjb3Jkc0RhdGEpKTsKIAog
ICAgIHJldHVybiByZXF1ZXN0OwpAQCAtOTA2LDYgKzkxNyw3IEBAIFJlZjxJREJSZXF1ZXN0PiBJ
REJUcmFuc2FjdGlvbjo6cmVxdWVzdEdldEFsbEluZGV4UmVjb3JkcyhKU0M6OkV4ZWNTdGF0ZSYg
c3RhdGUsCiAKICAgICBJREJHZXRBbGxSZWNvcmRzRGF0YSBnZXRBbGxSZWNvcmRzRGF0YSB7IGtl
eVJhbmdlRGF0YSwgZ2V0QWxsVHlwZSwgY291bnQsIGluZGV4Lm9iamVjdFN0b3JlKCkuaW5mbygp
LmlkZW50aWZpZXIoKSwgaW5kZXguaW5mbygpLmlkZW50aWZpZXIoKSB9OwogCisgICAgTE9HKElu
ZGV4ZWREQk9wZXJhdGlvbnMsICJJREIgZ2V0IGFsbCBpbmRleCByZWNvcmRzIG9wZXJhdGlvbjog
JXMiLCBnZXRBbGxSZWNvcmRzRGF0YS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAg
ICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlv
bigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9uOjpkaWRHZXRBbGxSZWNvcmRz
T25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6Z2V0QWxsUmVjb3Jkc09uU2VydmVyLCBnZXRBbGxS
ZWNvcmRzRGF0YSkpOwogCiAgICAgcmV0dXJuIHJlcXVlc3Q7CkBAIC05NTgsNiArOTcwLDcgQEAg
UmVmPElEQlJlcXVlc3Q+IElEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0R2V0UmVjb3JkKEV4ZWNTdGF0
ZSYgc3RhdGUsIElEQk9iamVjdFN0b3IKICAgICBhdXRvIHJlcXVlc3QgPSBJREJSZXF1ZXN0Ojpj
cmVhdGVPYmplY3RTdG9yZUdldCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBvYmplY3RTdG9y
ZSwgdHlwZSwgKnRoaXMpOwogICAgIGFkZFJlcXVlc3QocmVxdWVzdC5nZXQoKSk7CiAKKyAgICBM
T0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBnZXQgcmVjb3JkIG9wZXJhdGlvbjogJXMiLCBn
ZXRSZWNvcmREYXRhLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBzY2hlZHVs
ZU9wZXJhdGlvbihJREJDbGllbnQ6OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCBy
ZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246OmRpZEdldFJlY29yZE9uU2VydmVyLCAmSURC
VHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyLCBnZXRSZWNvcmREYXRhKSk7CiAKICAgICBy
ZXR1cm4gcmVxdWVzdDsKQEAgLTk5Miw2ICsxMDA1LDggQEAgUmVmPElEQlJlcXVlc3Q+IElEQlRy
YW5zYWN0aW9uOjpyZXF1ZXN0SW5kZXhSZWNvcmQoRXhlY1N0YXRlJiBzdGF0ZSwgSURCSW5kZXgm
IGkKICAgICBhZGRSZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogCiAgICAgSURCR2V0UmVjb3JkRGF0
YSBnZXRSZWNvcmREYXRhID0geyByYW5nZSwgSURCR2V0UmVjb3JkRGF0YVR5cGU6OktleUFuZFZh
bHVlIH07CisKKyAgICBMT0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBnZXQgaW5kZXggcmVj
b3JkIG9wZXJhdGlvbjogJXMiLCBnZXRSZWNvcmREYXRhLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCku
ZGF0YSgpKTsKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6OmNyZWF0ZVRyYW5zYWN0
aW9uT3BlcmF0aW9uKCp0aGlzLCByZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246OmRpZEdl
dFJlY29yZE9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmdldFJlY29yZE9uU2VydmVyLCBnZXRS
ZWNvcmREYXRhKSk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKQEAgLTEwNTAsNiArMTA2NSw3IEBA
IFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVzdENvdW50KEV4ZWNTdGF0ZSYg
c3RhdGUsIElEQk9iamVjdFN0b3JlJiBvCiAgICAgYXV0byByZXF1ZXN0ID0gSURCUmVxdWVzdDo6
Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG9iamVjdFN0b3JlLCAqdGhpcyk7CiAg
ICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAorICAgIExPRyhJbmRleGVkREJPcGVyYXRp
b25zLCAiSURCIG9iamVjdCBzdG9yZSBjb3VudCBvcGVyYXRpb246ICVzLCByYW5nZSAlcyIsIG9i
amVjdFN0b3JlLmluZm8oKS5jb25kZW5zZWRMb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
cmFuZ2UubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNjaGVkdWxlT3BlcmF0
aW9uKElEQkNsaWVudDo6Y3JlYXRlVHJhbnNhY3Rpb25PcGVyYXRpb24oKnRoaXMsIHJlcXVlc3Qu
Z2V0KCksICZJREJUcmFuc2FjdGlvbjo6ZGlkR2V0Q291bnRPblNlcnZlciwgJklEQlRyYW5zYWN0
aW9uOjpnZXRDb3VudE9uU2VydmVyLCByYW5nZSkpOwogCiAgICAgcmV0dXJuIHJlcXVlc3Q7CkBA
IC0xMDY3LDYgKzEwODMsNyBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNhY3Rpb246OnJlcXVl
c3RDb3VudChFeGVjU3RhdGUmIHN0YXRlLCBJREJJbmRleCYgaW5kZXgsCiAgICAgYXV0byByZXF1
ZXN0ID0gSURCUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIGluZGV4
LCAqdGhpcyk7CiAgICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAorICAgIExPRyhJbmRl
eGVkREJPcGVyYXRpb25zLCAiSURCIGluZGV4IGNvdW50IG9wZXJhdGlvbjogJXMsIHJhbmdlICVz
IiwgaW5kZXguaW5mbygpLmNvbmRlbnNlZExvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBy
YW5nZS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2NoZWR1bGVPcGVyYXRp
b24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgcmVxdWVzdC5n
ZXQoKSwgJklEQlRyYW5zYWN0aW9uOjpkaWRHZXRDb3VudE9uU2VydmVyLCAmSURCVHJhbnNhY3Rp
b246OmdldENvdW50T25TZXJ2ZXIsIHJhbmdlKSk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKQEAg
LTExMDEsNiArMTExOCw3IEBAIFJlZjxJREJSZXF1ZXN0PiBJREJUcmFuc2FjdGlvbjo6cmVxdWVz
dERlbGV0ZVJlY29yZChFeGVjU3RhdGUmIHN0YXRlLCBJREJPYmplY3RTCiAgICAgYXV0byByZXF1
ZXN0ID0gSURCUmVxdWVzdDo6Y3JlYXRlKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG9iamVj
dFN0b3JlLCAqdGhpcyk7CiAgICAgYWRkUmVxdWVzdChyZXF1ZXN0LmdldCgpKTsKIAorICAgIExP
RyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIGRlbGV0ZSByZWNvcmQgb3BlcmF0aW9uOiAlcywg
cmFuZ2UgJXMiLCBvYmplY3RTdG9yZS5pbmZvKCkuY29uZGVuc2VkTG9nZ2luZ1N0cmluZygpLnV0
ZjgoKS5kYXRhKCksIHJhbmdlLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpKTsKICAgICBz
Y2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0
aGlzLCByZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rpb246OmRpZERlbGV0ZVJlY29yZE9uU2Vy
dmVyLCAmSURCVHJhbnNhY3Rpb246OmRlbGV0ZVJlY29yZE9uU2VydmVyLCByYW5nZSkpOwogICAg
IHJldHVybiByZXF1ZXN0OwogfQpAQCAtMTEzNCw2ICsxMTUyLDggQEAgUmVmPElEQlJlcXVlc3Q+
IElEQlRyYW5zYWN0aW9uOjpyZXF1ZXN0Q2xlYXJPYmplY3RTdG9yZShFeGVjU3RhdGUmIHN0YXRl
LCBJREJPYmoKICAgICBhZGRSZXF1ZXN0KHJlcXVlc3QuZ2V0KCkpOwogCiAgICAgdWludDY0X3Qg
b2JqZWN0U3RvcmVJZGVudGlmaWVyID0gb2JqZWN0U3RvcmUuaW5mbygpLmlkZW50aWZpZXIoKTsK
KworICAgIExPRyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIGNsZWFyIG9iamVjdCBzdG9yZSBv
cGVyYXRpb246ICVzIiwgb2JqZWN0U3RvcmUuaW5mbygpLmNvbmRlbnNlZExvZ2dpbmdTdHJpbmco
KS51dGY4KCkuZGF0YSgpKTsKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJREJDbGllbnQ6OmNyZWF0
ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCByZXF1ZXN0LmdldCgpLCAmSURCVHJhbnNhY3Rp
b246OmRpZENsZWFyT2JqZWN0U3RvcmVPblNlcnZlciwgJklEQlRyYW5zYWN0aW9uOjpjbGVhck9i
amVjdFN0b3JlT25TZXJ2ZXIsIG9iamVjdFN0b3JlSWRlbnRpZmllcikpOwogCiAgICAgcmV0dXJu
IHJlcXVlc3Q7CkBAIC0xMTY5LDYgKzExODksNyBAQCBSZWY8SURCUmVxdWVzdD4gSURCVHJhbnNh
Y3Rpb246OnJlcXVlc3RQdXRPckFkZChFeGVjU3RhdGUmIHN0YXRlLCBJREJPYmplY3RTdG9yZQog
ICAgIGF1dG8gcmVxdWVzdCA9IElEQlJlcXVlc3Q6OmNyZWF0ZSgqc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpLCBvYmplY3RTdG9yZSwgKnRoaXMpOwogICAgIGFkZFJlcXVlc3QocmVxdWVzdC5nZXQo
KSk7CiAKKyAgICBMT0coSW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBwdXRPckFkZCBvcGVyYXRp
b246ICVzIiwga2V5ID8ga2V5LT5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSA6ICI8bnVs
bCBrZXk+Iik7CiAgICAgc2NoZWR1bGVPcGVyYXRpb24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2Fj
dGlvbk9wZXJhdGlvbigqdGhpcywgcmVxdWVzdC5nZXQoKSwgJklEQlRyYW5zYWN0aW9uOjpkaWRQ
dXRPckFkZE9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OnB1dE9yQWRkT25TZXJ2ZXIsIGtleSwg
JnZhbHVlLCBvdmVyd3JpdGVNb2RlKSk7CiAKICAgICByZXR1cm4gcmVxdWVzdDsKQEAgLTEyNTIs
NiArMTI3Myw3IEBAIHZvaWQgSURCVHJhbnNhY3Rpb246OmRlbGV0ZU9iamVjdFN0b3JlKGNvbnN0
IFN0cmluZyYgb2JqZWN0U3RvcmVOYW1lKQogICAgICAgICBtX2RlbGV0ZWRPYmplY3RTdG9yZXMu
c2V0KGlkZW50aWZpZXIsIFdURk1vdmUob2JqZWN0U3RvcmUpKTsKICAgICB9CiAKKyAgICBMT0co
SW5kZXhlZERCT3BlcmF0aW9ucywgIklEQiBkZWxldGUgb2JqZWN0IHN0b3JlIG9wZXJhdGlvbjog
JXMiLCBvYmplY3RTdG9yZU5hbWUudXRmOCgpLmRhdGEoKSk7CiAgICAgc2NoZWR1bGVPcGVyYXRp
b24oSURCQ2xpZW50OjpjcmVhdGVUcmFuc2FjdGlvbk9wZXJhdGlvbigqdGhpcywgJklEQlRyYW5z
YWN0aW9uOjpkaWREZWxldGVPYmplY3RTdG9yZU9uU2VydmVyLCAmSURCVHJhbnNhY3Rpb246OmRl
bGV0ZU9iamVjdFN0b3JlT25TZXJ2ZXIsIG9iamVjdFN0b3JlTmFtZSkpOwogfQogCkBAIC0xMjc3
LDYgKzEyOTksNyBAQCB2b2lkIElEQlRyYW5zYWN0aW9uOjpkZWxldGVJbmRleCh1aW50NjRfdCBv
YmplY3RTdG9yZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgaQogICAgIEFTU0VSVChjdXJyZW50
VGhyZWFkKCkgPT0gbV9kYXRhYmFzZS0+b3JpZ2luVGhyZWFkSUQoKSk7CiAgICAgQVNTRVJUKGlz
VmVyc2lvbkNoYW5nZSgpKTsKIAorICAgIExPRyhJbmRleGVkREJPcGVyYXRpb25zLCAiSURCIGRl
bGV0ZSBpbmRleCBvcGVyYXRpb246ICVzICglIiBQUkl1NjQgIikiLCBpbmRleE5hbWUudXRmOCgp
LmRhdGEoKSwgb2JqZWN0U3RvcmVJZGVudGlmaWVyKTsKICAgICBzY2hlZHVsZU9wZXJhdGlvbihJ
REJDbGllbnQ6OmNyZWF0ZVRyYW5zYWN0aW9uT3BlcmF0aW9uKCp0aGlzLCAmSURCVHJhbnNhY3Rp
b246OmRpZERlbGV0ZUluZGV4T25TZXJ2ZXIsICZJREJUcmFuc2FjdGlvbjo6ZGVsZXRlSW5kZXhP
blNlcnZlciwgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCBpbmRleE5hbWUpKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvcklu
Zm8uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNv
ckluZm8uY3BwCmluZGV4IGYxOGUwZGM2MDE4MTdiODBiZmJlMjE3MjlkYjYxNzE4MTQyMGU2NzAu
LmEyNDU3ZGI2MzZhZjUzODkwZjE3ZmE2ZjNhNGZiMWRkZWYwY2M2NTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JJbmZvLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5m
by5jcHAKQEAgLTk5LDYgKzk5LDE2IEBAIElEQkN1cnNvckluZm8gSURCQ3Vyc29ySW5mbzo6aXNv
bGF0ZWRDb3B5KCkgY29uc3QKICAgICByZXR1cm4geyBtX2N1cnNvcklkZW50aWZpZXIuaXNvbGF0
ZWRDb3B5KCksIG1fdHJhbnNhY3Rpb25JZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLCBtX29iamVj
dFN0b3JlSWRlbnRpZmllciwgbV9zb3VyY2VJZGVudGlmaWVyLCBtX3JhbmdlLmlzb2xhdGVkQ29w
eSgpLCBtX3NvdXJjZSwgbV9kaXJlY3Rpb24sIG1fdHlwZSB9OwogfQogCisjaWYgIUxPR19ESVNB
QkxFRAorU3RyaW5nIElEQkN1cnNvckluZm86OmxvZ2dpbmdTdHJpbmcoKSBjb25zdAoreworICAg
IGlmIChtX3NvdXJjZSA9PSBJbmRleGVkREI6OkN1cnNvclNvdXJjZTo6SW5kZXgpCisgICAgICAg
IHJldHVybiBTdHJpbmc6OmZvcm1hdCgiPENyc3I6IElkeCAlIiBQUkl1NjQgIiwgT1MgJSIgUFJJ
dTY0ICIsIHR4ICVzPiIsIG1fc291cmNlSWRlbnRpZmllciwgbV9vYmplY3RTdG9yZUlkZW50aWZp
ZXIsIG1fdHJhbnNhY3Rpb25JZGVudGlmaWVyLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgp
KTsKKworICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiPENyc3I6IE9TICUiIFBSSXU2NCAiLCB0
eCAlcz4iLCBtX29iamVjdFN0b3JlSWRlbnRpZmllciwgbV90cmFuc2FjdGlvbklkZW50aWZpZXIu
bG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvcklu
Zm8uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJDdXJzb3JJ
bmZvLmgKaW5kZXggYTA1ZjNlODQxNTA2Y2QyYjk1YTI5NjhjMWQxMWFmYzcwYThlZWY4Ny4uODRi
NDM5YmUzYmIyM2UzOTc2NDk5MDY1MzM3NWE0ZGIzMWMwMWRlNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkN1cnNvckluZm8uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCQ3Vyc29ySW5mby5oCkBA
IC03MCw2ICs3MCwxMCBAQCBwdWJsaWM6CiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9p
ZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0
YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCQ3Vyc29ySW5mbyYpOwogCisjaWYgIUxPR19E
SVNBQkxFRAorICAgIFN0cmluZyBsb2dnaW5nU3RyaW5nKCkgY29uc3Q7CisjZW5kaWYKKwogcHJp
dmF0ZToKICAgICBJREJDdXJzb3JJbmZvKElEQlRyYW5zYWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0
U3RvcmVJZGVudGlmaWVyLCBjb25zdCBJREJLZXlSYW5nZURhdGEmLCBJbmRleGVkREI6OkN1cnNv
ckRpcmVjdGlvbiwgSW5kZXhlZERCOjpDdXJzb3JUeXBlKTsKICAgICBJREJDdXJzb3JJbmZvKElE
QlRyYW5zYWN0aW9uJiwgdWludDY0X3Qgb2JqZWN0U3RvcmVJZGVudGlmaWVyLCB1aW50NjRfdCBp
bmRleElkZW50aWZpZXIsIGNvbnN0IElEQktleVJhbmdlRGF0YSYsIEluZGV4ZWREQjo6Q3Vyc29y
RGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldEFsbFJlY29yZHNEYXRhLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNvcmRz
RGF0YS5jcHAKaW5kZXggNjY1MWJjMmNkOWJiZTNkZGRkOWQ1NmZlYjk3NTEwZGE5YWJlNjRmYi4u
OTJiNmI5MjNkYzhmZTkyODcxZjdkYmJkOWU3MDQzNTAzMmE1OWQxYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldEFsbFJlY29yZHNEYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0
QWxsUmVjb3Jkc0RhdGEuY3BwCkBAIC0zNyw2ICszNywxNSBAQCBJREJHZXRBbGxSZWNvcmRzRGF0
YSBJREJHZXRBbGxSZWNvcmRzRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKICAgICByZXR1cm4g
eyBrZXlSYW5nZURhdGEuaXNvbGF0ZWRDb3B5KCksIGdldEFsbFR5cGUsIGNvdW50LCBvYmplY3RT
dG9yZUlkZW50aWZpZXIsIGluZGV4SWRlbnRpZmllciB9OwogfQogCisjaWYgIUxPR19ESVNBQkxF
RAorU3RyaW5nIElEQkdldEFsbFJlY29yZHNEYXRhOjpsb2dnaW5nU3RyaW5nKCkgY29uc3QKK3sK
KyAgICBpZiAoaW5kZXhJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQo
IjxHZXRBbGxSZWNvcmRzOiBJZHggJSIgUFJJdTY0ICIsIE9TICUiIFBSSXU2NCAiLCAlcywgcmFu
Z2UgJXM+IiwgaW5kZXhJZGVudGlmaWVyLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGdldEFsbFR5
cGUgPT0gSW5kZXhlZERCOjpHZXRBbGxUeXBlOjpLZXlzID8gIktleXMiIDogIlZhbHVlcyIsIGtl
eVJhbmdlRGF0YS5sb2dnaW5nU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CisgICAgcmV0dXJuIFN0
cmluZzo6Zm9ybWF0KCI8R2V0QWxsUmVjb3JkczogT1MgJSIgUFJJdTY0ICIsICVzLCByYW5nZSAl
cz4iLCBvYmplY3RTdG9yZUlkZW50aWZpZXIsIGdldEFsbFR5cGUgPT0gSW5kZXhlZERCOjpHZXRB
bGxUeXBlOjpLZXlzID8gIktleXMiIDogIlZhbHVlcyIsIGtleVJhbmdlRGF0YS5sb2dnaW5nU3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0QWxsUmVjb3Jkc0RhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNv
cmRzRGF0YS5oCmluZGV4IDExNjM0ODM1Y2EyZjJlMGU4OTQ1Y2JjOWFhOTMyZTU0NmI3NzQ3NmEu
LmU5YjQ1OTgwMGRhZjgyMTczN2Q3ZjdhNzk0MTU4MGNlNDViN2IzN2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRBbGxSZWNvcmRzRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRB
bGxSZWNvcmRzRGF0YS5oCkBAIC00Niw2ICs0NiwxMCBAQCBzdHJ1Y3QgSURCR2V0QWxsUmVjb3Jk
c0RhdGEgewogCiAgICAgSURCR2V0QWxsUmVjb3Jkc0RhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7
CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAgU3RyaW5nIGxvZ2dpbmdTdHJpbmcoKSBjb25zdDsK
KyNlbmRpZgorCiAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29k
ZShEZWNvZGVyJiwgSURCR2V0QWxsUmVjb3Jkc0RhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0YS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0
YS5jcHAKaW5kZXggNjg4NGYyYjZjZThhZjY3YWI1ZTI4Nzc1Y2I4NWVkYjQ5OGUxZThjYi4uZDc4
OTYyNjA0NzI5NmVkM2QxODY2NmNkZTM4ZGRiZWRhZDdmOGQ3OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmRE
YXRhLmNwcApAQCAtMzcsNiArMzcsMTMgQEAgSURCR2V0UmVjb3JkRGF0YSBJREJHZXRSZWNvcmRE
YXRhOjppc29sYXRlZENvcHkoKSBjb25zdAogICAgIHJldHVybiB7IGtleVJhbmdlRGF0YS5pc29s
YXRlZENvcHkoKSwgdHlwZSB9OwogfQogCisjaWYgIUxPR19ESVNBQkxFRAorU3RyaW5nIElEQkdl
dFJlY29yZERhdGE6OmxvZ2dpbmdTdHJpbmcoKSBjb25zdAoreworICAgIHJldHVybiBTdHJpbmc6
OmZvcm1hdCgiPEdldFJlY29yZDogJXMgJXM+IiwgdHlwZSA9PSBJREJHZXRSZWNvcmREYXRhVHlw
ZTo6S2V5T25seSA/ICJLZXlPbmx5IiA6ICJLZXkrVmFsdWUiLCBrZXlSYW5nZURhdGEubG9nZ2lu
Z1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJHZXRSZWNvcmRE
YXRhLmgKaW5kZXggNjE4MjA0MjBlMDk3ZGZlYTE1N2ZiMTExOGM2YTZmMWY3YTY0Y2NmNS4uZTgy
YWI1NGU4MDFmOGU0ZDBiM2UzNmY1OTI0YjI5YjY3NGZiZjk3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkdldFJlY29yZERhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCR2V0UmVjb3JkRGF0
YS5oCkBAIC00Miw2ICs0MiwxMCBAQCBzdHJ1Y3QgSURCR2V0UmVjb3JkRGF0YSB7CiAKICAgICBJ
REJHZXRSZWNvcmREYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OwogCisjaWYgIUxPR19ESVNBQkxF
RAorICAgIFN0cmluZyBsb2dnaW5nU3RyaW5nKCkgY29uc3Q7CisjZW5kaWYKKwogICAgIHRlbXBs
YXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICB0ZW1w
bGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgYm9vbCBkZWNvZGUoRGVjb2RlciYsIElEQkdldFJl
Y29yZERhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9zaGFyZWQvSURCSW5kZXhJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL3NoYXJlZC9JREJJbmRleEluZm8uY3BwCmluZGV4IDQ2OGM5YjhmZTI3NzNmZDk0YjJm
MjY2ZDkxMjFmYzBkMTJlODM0YWYuLjZjNDRlNzY3MTlkYTlkNmVmMWVmYTY5NDcxZDUwYjE5YjQ3
M2RlYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL3NoYXJl
ZC9JREJJbmRleEluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJJbmRleEluZm8uY3BwCkBAIC01OCw2ICs1OCwxMSBAQCBTdHJpbmcgSURCSW5k
ZXhJbmZvOjpsb2dnaW5nU3RyaW5nKGludCBpbmRlbnQpIGNvbnN0CiAKICAgICByZXR1cm4gbWFr
ZVN0cmluZyhpbmRlbnRTdHJpbmcsICJJbmRleDogIiwgbV9uYW1lLCBTdHJpbmc6OmZvcm1hdCgi
ICglIiBQUkl1NjQgIikgXG4iLCBtX2lkZW50aWZpZXIpKTsKIH0KKworU3RyaW5nIElEQkluZGV4
SW5mbzo6Y29uZGVuc2VkTG9nZ2luZ1N0cmluZygpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmlu
Zzo6Zm9ybWF0KCI8SWR4OiAlcyAoJSIgUFJJdTY0ICIpLCBPUyAoJSIgUFJJdTY0ICIpPiIsIG1f
bmFtZS51dGY4KCkuZGF0YSgpLCBtX2lkZW50aWZpZXIsIG1fb2JqZWN0U3RvcmVJZGVudGlmaWVy
KTsKK30KICNlbmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCSW5kZXhJbmZvLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQvSURCSW5kZXhJbmZvLmgKaW5kZXgg
YzRmYzRiYTRmMTg5ZTBlOWQ1NDEyM2VhMWJiYWNiOGU2MjA4YzhlMC4uMWUzNzQxNzkyYTFhNjEw
N2YxODcyZTQ5ZWZlM2Y4ZTIzYzY0MjYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvc2hhcmVkL0lEQkluZGV4SW5mby5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJbmRleEluZm8uaApAQCAtNTMsNiArNTMsNyBA
QCBwdWJsaWM6CiAKICNpZiAhTE9HX0RJU0FCTEVECiAgICAgU3RyaW5nIGxvZ2dpbmdTdHJpbmco
aW50IGluZGVudCA9IDApIGNvbnN0OworICAgIFN0cmluZyBjb25kZW5zZWRMb2dnaW5nU3RyaW5n
KCkgY29uc3Q7CiAjZW5kaWYKIAogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlIG5lZWQgZm9yIHRo
aXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9zaGFyZWQv
SURCSXRlcmF0ZUN1cnNvckRhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQkl0ZXJhdGVDdXJzb3JEYXRhLmNwcAppbmRleCBiODY1NDI5OTgyYTliM2Nl
MDk1MmIzNDU4ZWI5NDhiNjcyYjNkMjIzLi43NmM0ZDRkZmViM2E1MjdiM2I4Mjg2NmY4ODIzOTdl
YjQ0ZjUzN2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9z
aGFyZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJdGVyYXRlQ3Vyc29yRGF0YS5jcHAKQEAgLTM1LDYgKzM1
LDEzIEBAIElEQkl0ZXJhdGVDdXJzb3JEYXRhIElEQkl0ZXJhdGVDdXJzb3JEYXRhOjppc29sYXRl
ZENvcHkoKSBjb25zdAogICAgIHJldHVybiB7IGtleURhdGEuaXNvbGF0ZWRDb3B5KCksIHByaW1h
cnlLZXlEYXRhLmlzb2xhdGVkQ29weSgpLCBjb3VudCB9OwogfQogCisjaWYgIUxPR19ESVNBQkxF
RAorU3RyaW5nIElEQkl0ZXJhdGVDdXJzb3JEYXRhOjpsb2dnaW5nU3RyaW5nKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIjxJdHI4Q3Jzcjoga2V5ICVzLCBwcmltYXJ5S2V5
ICVzLCBjb3VudCAldSIsIGtleURhdGEubG9nZ2luZ1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHBy
aW1hcnlLZXlEYXRhLmxvZ2dpbmdTdHJpbmcoKS51dGY4KCkuZGF0YSgpLCBjb3VudCk7Cit9Cisj
ZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKElOREVY
RURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCSXRlcmF0ZUN1cnNvckRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJJdGVyYXRlQ3Vyc29yRGF0YS5oCmluZGV4IDZiMDQ3ZTkyYjYx
MzhiM2RmOTYwZmIyN2JiZjNkNjE0YjMzNTE4MWYuLjYwOWY3NDg3NmQ5YjEyN2Q0NjM1ZDU3MGVj
YWFjMWNiOGZlMDQ3M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJJdGVyYXRlQ3Vyc29yRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJJdGVyYXRlQ3Vyc29yRGF0YS5oCkBAIC0zOCw2ICsz
OCwxMCBAQCBzdHJ1Y3QgSURCSXRlcmF0ZUN1cnNvckRhdGEgewogCiAgICAgSURCSXRlcmF0ZUN1
cnNvckRhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CiAKKyNpZiAhTE9HX0RJU0FCTEVECisgICAg
U3RyaW5nIGxvZ2dpbmdTdHJpbmcoKSBjb25zdDsKKyNlbmRpZgorCiAgICAgdGVtcGxhdGU8Y2xh
c3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgIHRlbXBsYXRlPGNs
YXNzIERlY29kZXI+IHN0YXRpYyBib29sIGRlY29kZShEZWNvZGVyJiwgSURCSXRlcmF0ZUN1cnNv
ckRhdGEmKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJbmZvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uY3BwCmluZGV4IGFjZGVhMWUzM2E1
YTFlNzI4YjlmODZkYzZjZGI0MjdiOTAxNjhhMGMuLmIwMDc1ZmUzNzgyOTc2YTZjNTAwZDM3MWEx
Mzk5ODdhZjY4MTY0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uY3BwCkBAIC0xNTAsNiAr
MTUwLDEyIEBAIFN0cmluZyBJREJPYmplY3RTdG9yZUluZm86OmxvZ2dpbmdTdHJpbmcoaW50IGlu
ZGVudCkgY29uc3QKIAogICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CisKK1N0cmlu
ZyBJREJPYmplY3RTdG9yZUluZm86OmNvbmRlbnNlZExvZ2dpbmdTdHJpbmcoKSBjb25zdAorewor
ICAgIHJldHVybiBTdHJpbmc6OmZvcm1hdCgiPE9TOiAlcyAoJSIgUFJJdTY0ICIpPiIsIG1fbmFt
ZS51dGY4KCkuZGF0YSgpLCBtX2lkZW50aWZpZXIpOworfQorCiAjZW5kaWYKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvc2hhcmVkL0lEQk9iamVjdFN0b3JlSW5mby5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvc2hhcmVkL0lEQk9iamVjdFN0b3JlSW5mby5oCmluZGV4IGQ3MjA1ZjJhMGM0M2Fm
MmIzNTJmZmY4NWYwZWMyNThjOTg4MDllOTIuLjBiODUyNTkwOWM1OWIzODU5Y2Q2YmQ0OGE3YTBl
ZWU3ZGQxOWJmYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L3NoYXJlZC9JREJPYmplY3RTdG9yZUluZm8uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9zaGFyZWQvSURCT2JqZWN0U3RvcmVJbmZvLmgKQEAgLTY3LDYgKzY3LDcgQEAg
cHVibGljOgogCiAjaWYgIUxPR19ESVNBQkxFRAogICAgIFN0cmluZyBsb2dnaW5nU3RyaW5nKGlu
dCBpbmRlbnQgPSAwKSBjb25zdDsKKyAgICBTdHJpbmcgY29uZGVuc2VkTG9nZ2luZ1N0cmluZygp
IGNvbnN0OwogI2VuZGlmCiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2dnaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKaW5k
ZXggZjM0MDlkMWYyODI5Y2EzMDEzNzAzMDA1YzY2MDllZTA1YzI1ZTdlNS4uMWQxNGYzNWJlYzIw
MDI0NWY2ZTM5MzFlZjgzYWJkY2FhM2I4ZTkwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vTG9nZ2luZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcu
aApAQCAtNTUsNiArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgTShJY29uRGF0YWJh
c2UpIFwKICAgICBNKEltYWdlcykgXAogICAgIE0oSW5kZXhlZERCKSBcCisgICAgTShJbmRleGVk
REJPcGVyYXRpb25zKSBcCiAgICAgTShMYXllcnMpIFwKICAgICBNKExheW91dCkgXAogICAgIE0o
TG9hZGluZykgXAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>