<?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>128279</bug_id>
          
          <creation_ts>2014-02-05 16:07:46 -0800</creation_ts>
          <short_desc>Change custom getter signature to make the base reference an object pointer</short_desc>
          <delta_ts>2014-02-05 16:53:20 -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>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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>977120</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-05 16:07:46 -0800</bug_when>
    <thetext>Change custom getter signature to make the base reference an object pointer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977122</commentid>
    <comment_count>1</comment_count>
      <attachid>223278</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-05 16:15:33 -0800</bug_when>
    <thetext>Created attachment 223278
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977138</commentid>
    <comment_count>2</comment_count>
      <attachid>223278</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-02-05 16:50:03 -0800</bug_when>
    <thetext>Comment on attachment 223278
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977143</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2014-02-05 16:53:20 -0800</bug_when>
    <thetext>Committed r163496: &lt;http://trac.webkit.org/changeset/163496&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223278</attachid>
            <date>2014-02-05 16:15:33 -0800</date>
            <delta_ts>2014-02-05 16:50:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128279-20140205161532.patch</filename>
            <type>text/plain</type>
            <size>77873</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYzNDc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YzBkZGEwZTA0MjYzZjg0OTAwZTYxMTZjZWRmYjg5MzQwYTA4MDk1Li44ZmMxY2QxMjg5OTU0MTQw
MDdiZmRhYWVjOWYyMDdiYWM1MzEwN2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw2MiBAQAorMjAxNC0wMi0wNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgor
CisgICAgICAgIENoYW5nZSBjdXN0b20gZ2V0dGVyIHNpZ25hdHVyZSB0byBtYWtlIHRoZSBiYXNl
IHJlZmVyZW5jZSBhbiBvYmplY3QgcG9pbnRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTWFrZSBjdXN0b20gZ2V0dGVycyB0YWtlIGEgSlNPYmplY3Qq
IGluc3RlYWQgb2YgRW5jb2RlZEpTVmFsdWUgYXMgdGhlIGJhc2UKKyAgICAgICAgcmVmZXJlbmNl
LiAgVGhpcyBhbGxvd3MgdXMgdG8gZHJvcCBvbmUgcG9pbnRlciBmcm9tIHRoZSBKU1ZBTFVFMzJf
NjQgY2FsbGluZworICAgICAgICBjb252ZW50aW9uLgorCisgICAgICAgICogQVBJL0pTQ2FsbGJh
Y2tPYmplY3QuaDoKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgor
ICAgICAgICAoSlNDOjpKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OnN0YXRpY0Z1bmN0aW9uR2V0
dGVyKToKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpjYWxsYmFja0dl
dHRlcik6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAqIGppdC9S
ZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6Z2VuZXJhdGVQcm90b0NoYWluQWNjZXNzU3R1Yik6
CisgICAgICAgIChKU0M6OnRyeUJ1aWxkR2V0QnlJRExpc3QpOgorICAgICAgICAqIHJ1bnRpbWUv
SlNBY3RpdmF0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNBY3RpdmF0aW9uOjphcmd1bWVudHNH
ZXR0ZXIpOgorICAgICAgICAqIHJ1bnRpbWUvSlNBY3RpdmF0aW9uLmg6CisgICAgICAgICogcnVu
dGltZS9KU0Z1bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6YXJndW1lbnRz
R2V0dGVyKToKKyAgICAgICAgKEpTQzo6SlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKToKKyAgICAg
ICAgKEpTQzo6SlNGdW5jdGlvbjo6bGVuZ3RoR2V0dGVyKToKKyAgICAgICAgKEpTQzo6SlNGdW5j
dGlvbjo6bmFtZUdldHRlcik6CisgICAgICAgICogcnVudGltZS9KU0Z1bmN0aW9uLmg6CisgICAg
ICAgICogcnVudGltZS9KU09iamVjdC5oOgorICAgICAgICAoSlNDOjpQcm9wZXJ0eVNsb3Q6Omdl
dFZhbHVlKToKKyAgICAgICAgKiBydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNwcDoKKyAgICAg
ICAgKEpTQzo6bnVtYmVyQ29uc3RydWN0b3JOYU5WYWx1ZSk6CisgICAgICAgIChKU0M6Om51bWJl
ckNvbnN0cnVjdG9yTmVnSW5maW5pdHkpOgorICAgICAgICAoSlNDOjpudW1iZXJDb25zdHJ1Y3Rv
clBvc0luZmluaXR5KToKKyAgICAgICAgKEpTQzo6bnVtYmVyQ29uc3RydWN0b3JNYXhWYWx1ZSk6
CisgICAgICAgIChKU0M6Om51bWJlckNvbnN0cnVjdG9yTWluVmFsdWUpOgorICAgICAgICAqIHJ1
bnRpbWUvUHJvcGVydHlTbG90Lmg6CisgICAgICAgICogcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rv
ci5jcHA6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyMSk6CisgICAgICAg
IChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyMik6CisgICAgICAgIChKU0M6OnJlZ0V4cENv
bnN0cnVjdG9yRG9sbGFyMyk6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFy
NCk6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNSk6CisgICAgICAgIChK
U0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNik6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0
cnVjdG9yRG9sbGFyNyk6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOCk6
CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOSk6CisgICAgICAgIChKU0M6
OnJlZ0V4cENvbnN0cnVjdG9ySW5wdXQpOgorICAgICAgICAoSlNDOjpyZWdFeHBDb25zdHJ1Y3Rv
ck11bHRpbGluZSk6CisgICAgICAgIChKU0M6OnJlZ0V4cENvbnN0cnVjdG9yTGFzdE1hdGNoKToK
KyAgICAgICAgKEpTQzo6cmVnRXhwQ29uc3RydWN0b3JMYXN0UGFyZW4pOgorICAgICAgICAoSlND
OjpyZWdFeHBDb25zdHJ1Y3RvckxlZnRDb250ZXh0KToKKyAgICAgICAgKEpTQzo6cmVnRXhwQ29u
c3RydWN0b3JSaWdodENvbnRleHQpOgorICAgICAgICAqIHJ1bnRpbWUvUmVnRXhwT2JqZWN0LmNw
cDoKKyAgICAgICAgKEpTQzo6cmVnRXhwT2JqZWN0R2xvYmFsKToKKyAgICAgICAgKEpTQzo6cmVn
RXhwT2JqZWN0SWdub3JlQ2FzZSk6CisgICAgICAgIChKU0M6OnJlZ0V4cE9iamVjdE11bHRpbGlu
ZSk6CisgICAgICAgIChKU0M6OnJlZ0V4cE9iamVjdFNvdXJjZSk6CisKIDIwMTQtMDItMDUgIEZp
bGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBKU0Mgb24gTWFjIHNob3Vs
ZCBwdWxsIExMVk0gZnJvbSBwcmVmaXg9L3Vzci9sb2NhbC9MTFZNRm9ySmF2YVNjcmlwdENvcmUg
YW5kIG5vdCAvdXNyL2xvY2FsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTYxMDgxY2JhYjBmOTQyNzUwMjkwMTky
NDA0OGUxOWI2NDRhOGQ1My4uZGEyNWRlMzEyNmQ4ZWY1YzY4Nzc2N2YwZDJkOGRkMGQxODJkNzU3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDE0LTAyLTA1ICBPbGl2ZXIgSHVudCAg
PG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgQ2hhbmdlIGN1c3RvbSBnZXR0ZXIgc2lnbmF0
dXJlIHRvIG1ha2UgdGhlIGJhc2UgcmVmZXJlbmNlIGFuIG9iamVjdCBwb2ludGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgyNzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXZlcnl0aGlu
ZyB0byB0aGUgbmV3IGNhbGxpbmcgY29udmVudGlvbi4KKworICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQ1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjc3NQ
cm9wZXJ0eUdldHRlclBpeGVsT3JQb3NQcmVmaXhDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3Jl
Ojpjc3NQcm9wZXJ0eUdldHRlckNhbGxiYWNrKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RP
TUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6b2JqZWN0VG9TdHJpbmdGdW5jdGlvbkdl
dHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmg6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01NaW1lVHlwZUFycmF5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkpTRE9NTWltZVR5cGVBcnJheTo6bmFtZUdldHRlcik6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNET01QbHVnaW5BcnJheUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVBs
dWdpbkFycmF5OjpuYW1lR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVBsdWdp
bkN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVBsdWdpbjo6bmFtZUdldHRlcik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6bm9uQ2FjaGluZ1N0YXRpY0Z1bmN0aW9uR2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OmNoaWxkRnJhbWVHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6aW5kZXhHZXR0ZXIpOgor
ICAgICAgICAoV2ViQ29yZTo6bmFtZWRJdGVtR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0hUTUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTSFRN
TEFsbENvbGxlY3Rpb246Om5hbWVHZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRN
TENvbGxlY3Rpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MQ29sbGVjdGlv
bjo6bmFtZUdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0
b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRG9jdW1lbnQ6Om5hbWVHZXR0ZXIpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbjo6bmFt
ZUdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNIVE1MRm9ybUVsZW1lbnRDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNIVE1MRm9ybUVsZW1lbnQ6Om5hbWVHZXR0ZXIpOgor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpKU0hUTUxGcmFtZVNldEVsZW1lbnQ6Om5hbWVHZXR0ZXIpOgorICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTSGlzdG9yeUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpub25DYWNoaW5nU3RhdGljQmFja0Z1bmN0aW9uR2V0dGVyKToKKyAgICAgICAgKFdlYkNvcmU6
Om5vbkNhY2hpbmdTdGF0aWNGb3J3YXJkRnVuY3Rpb25HZXR0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6bm9uQ2FjaGluZ1N0YXRpY0dvRnVuY3Rpb25HZXR0ZXIpOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTTG9jYXRpb25DdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6bm9uQ2FjaGluZ1N0
YXRpY1JlcGxhY2VGdW5jdGlvbkdldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpub25DYWNoaW5n
U3RhdGljUmVsb2FkRnVuY3Rpb25HZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6bm9uQ2FjaGlu
Z1N0YXRpY0Fzc2lnbkZ1bmN0aW9uR2V0dGVyKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU05h
bWVkTm9kZU1hcEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU05hbWVkTm9kZU1hcDo6
bmFtZUdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rp
b25zLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnBsdWdpbkVsZW1lbnRQcm9wZXJ0eUdldHRlcik6
CisgICAgICAgICogYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmg6CisgICAg
ICAgICogYmluZGluZ3MvanMvSlNSVENTdGF0c1Jlc3BvbnNlQ3VzdG9tLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkpTUlRDU3RhdHNSZXNwb25zZTo6bmFtZUdldHRlcik6CisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkpTU3RvcmFn
ZTo6bmFtZUdldHRlcik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTdHlsZVNoZWV0TGlzdEN1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU1N0eWxlU2hlZXRMaXN0OjpuYW1lR2V0dGVy
KToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAgICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgor
ICAgICAgICAqIGJyaWRnZS9ydW50aW1lX2FycmF5LmNwcDoKKyAgICAgICAgKEpTQzo6UnVudGlt
ZUFycmF5OjpsZW5ndGhHZXR0ZXIpOgorICAgICAgICAoSlNDOjpSdW50aW1lQXJyYXk6OmluZGV4
R2V0dGVyKToKKyAgICAgICAgKiBicmlkZ2UvcnVudGltZV9hcnJheS5oOgorICAgICAgICAqIGJy
aWRnZS9ydW50aW1lX21ldGhvZC5jcHA6CisgICAgICAgIChKU0M6OlJ1bnRpbWVNZXRob2Q6Omxl
bmd0aEdldHRlcik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmg6CisgICAgICAg
ICogYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OlJ1
bnRpbWVPYmplY3Q6OmZhbGxiYWNrT2JqZWN0R2V0dGVyKToKKyAgICAgICAgKEpTQzo6QmluZGlu
Z3M6OlJ1bnRpbWVPYmplY3Q6OmZpZWxkR2V0dGVyKToKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6
OlJ1bnRpbWVPYmplY3Q6Om1ldGhvZEdldHRlcik6CisgICAgICAgICogYnJpZGdlL3J1bnRpbWVf
b2JqZWN0Lmg6CisKIDIwMTQtMDItMDUgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNv
bT4KIAogICAgICAgICBXSzI6IENhcmV0LCBzZWxlY3Rpb25zIGFuZCBhdXRvY29ycmVjdGlvbiBi
dWJibGVzIGFyZSBpbmNvcnJlY3RseSBwb3NpdGlvbmVkIHdoZW4gaW5zaWRlIGFuIGlmcmFtZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBlNTUwNjgzNDBiZjllMTcwNzY5ODU3ZGUzMjczZjFjODg4ZTFlNGM1Li45
ZTcyYzRhODMyOWI4ZTZhODA1MDFlYTNhYmZkZWYzZDkzNjlkMTJkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTQtMDItMDUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBDaGFuZ2UgY3VzdG9tIGdldHRlciBzaWduYXR1cmUgdG8gbWFrZSB0aGUgYmFz
ZSByZWZlcmVuY2UgYW4gb2JqZWN0IHBvaW50ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODI3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBldmVyeXRoaW5nIHRvIHRoZSBuZXcgY2FsbGlu
ZyBjb252ZW50aW9uLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pT
TlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpKU05QT2JqZWN0Ojpwcm9wZXJ0eUdldHRl
cik6CisgICAgICAgIChXZWJLaXQ6OkpTTlBPYmplY3Q6Om1ldGhvZEdldHRlcik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaDoKKwogMjAxNC0wMi0w
NSAgRW5yaWNhIENhc3VjY2kgIDxlbnJpY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFdLMjogQ2Fy
ZXQsIHNlbGVjdGlvbnMgYW5kIGF1dG9jb3JyZWN0aW9uIGJ1YmJsZXMgYXJlIGluY29ycmVjdGx5
IHBvc2l0aW9uZWQgd2hlbiBpbnNpZGUgYW4gaWZyYW1lLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaAppbmRleCAzZjU4OTA2ZDlkMWI5NWRhZDExNDUzZWE4
OTg2NWVjY2U0OGE0YTU5Li5kZmRiNzVhOThiMDgzMzJhOGVkZjNlYWViMjkzOWNmNzQ1ZWQ5Mzk4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3Qu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3QuaApAQCAt
MjExLDggKzIxMSw4IEBAIHByaXZhdGU6CiAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19I
T1NUX0NBTEwgY29uc3RydWN0KEV4ZWNTdGF0ZSopOwogICAgCiAgICAgSlNWYWx1ZSBnZXRTdGF0
aWNWYWx1ZShFeGVjU3RhdGUqLCBQcm9wZXJ0eU5hbWUpOwotICAgIHN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBzdGF0aWNGdW5jdGlvbkdldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGNh
bGxiYWNrR2V0dGVyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwg
UHJvcGVydHlOYW1lKTsKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgc3RhdGljRnVuY3Rpb25H
ZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1l
KTsKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY2FsbGJhY2tHZXR0ZXIoRXhlY1N0YXRlKiwg
SlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKIAogICAgIE93blB0cjxK
U0NhbGxiYWNrT2JqZWN0RGF0YT4gbV9jYWxsYmFja09iamVjdERhdGE7CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgg
Yi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApp
bmRleCA1YmUwNTNmMWUwODZiNDNlNjg2YzM2NzRkYWU3YzUxNjA1YTI4NmU3Li4wZWJlN2RkOGJl
YTU1MDJhZjQ0YWZiZTljZDk5MDAxMmNmZjk5OWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tPYmplY3RGdW5jdGlvbnMuaApAQCAtNTkxLDcgKzU5
MSw3IEBAIEpTVmFsdWUgSlNDYWxsYmFja09iamVjdDxQYXJlbnQ+OjpnZXRTdGF0aWNWYWx1ZShF
eGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJl
bnQ+Ci1FbmNvZGVkSlNWYWx1ZSBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OnN0YXRpY0Z1bmN0
aW9uR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFBhcmVudCwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBK
U0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OnN0YXRpY0Z1bmN0aW9uR2V0dGVyKEV4ZWNTdGF0ZSog
ZXhlYywgSlNPYmplY3QqIHNsb3RQYXJlbnQsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lKQogewogICAgIEpTQ2FsbGJhY2tPYmplY3QqIHRoaXNPYmogPSBhc0NhbGxi
YWNrT2JqZWN0KHNsb3RQYXJlbnQpOwogICAgIApAQCAtNjE5LDcgKzYxOSw3IEBAIEVuY29kZWRK
U1ZhbHVlIEpTQ2FsbGJhY2tPYmplY3Q8UGFyZW50Pjo6c3RhdGljRnVuY3Rpb25HZXR0ZXIoRXhl
Y1N0YXRlKiBleGVjLCBFCiB9CiAKIHRlbXBsYXRlIDxjbGFzcyBQYXJlbnQ+Ci1FbmNvZGVkSlNW
YWx1ZSBKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD46OmNhbGxiYWNrR2V0dGVyKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdFBhcmVudCwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5
TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBKU0NhbGxiYWNrT2JqZWN0PFBhcmVu
dD46OmNhbGxiYWNrR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RQYXJlbnQs
IEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIEpTQ2Fs
bGJhY2tPYmplY3QqIHRoaXNPYmogPSBhc0NhbGxiYWNrT2JqZWN0KHNsb3RQYXJlbnQpOwogICAg
IApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNw
cCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAKaW5kZXggMGYy
Y2E5MGIyNTNhMGFmOWM5YzlhMTE1YzA2MmJjY2RiOTYzNzcxZS4uY2Y1OTI2NWU5MWExZTA2OTRm
ZjIzZGEzODAwMmU0YzA4ZTVkNzQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuY3BwCkBAIC0yMTksNyArMjE5LDcgQEAgRW5jb2RlZEpTVmFsdWUgSklUX09Q
RVJBVElPTiBvcGVyYXRpb25DYWxsQ3VzdG9tR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNDZWxs
KgogICAgIAogICAgIElkZW50aWZpZXIgaWRlbnQodm0sIHVpZCk7CiAgICAgCi0gICAgcmV0dXJu
IGZ1bmN0aW9uKGV4ZWMsIEpTVmFsdWU6OmVuY29kZShiYXNlKSwgSlNWYWx1ZTo6ZW5jb2RlKGJh
c2UpLCBpZGVudCk7CisgICAgcmV0dXJuIGZ1bmN0aW9uKGV4ZWMsIGpzQ2FzdDxKU09iamVjdCo+
KGJhc2UpLCBKU1ZhbHVlOjplbmNvZGUoYmFzZSksIGlkZW50KTsKIH0KIAogRW5jb2RlZEpTVmFs
dWUgSklUX09QRVJBVElPTiBvcGVyYXRpb25DYWxsR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlND
ZWxsKiBiYXNlLCBKU0NlbGwqIGdldHRlclNldHRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCmluZGV4IDQ0Njc2NThiYzIyMDhkNGZkYTBhMWZmNmMzM2I2Yzk3MTg0YmUwNmYu
LmI5MmJkYWMwMzJhZDdjM2NhNGEwZjE3NjAyMGQ4MzUzY2EwYTdmMzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9SZXBhdGNoLmNwcApAQCAtMzA0LDcgKzMwNCw3IEBAIHN0YXRpYyBQcm90b0No
YWluR2VuZXJhdGlvblJlc3VsdCBnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKEV4ZWNTdGF0
ZSogZXhlYywKICAgICAgICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEdl
dHRlcjsKICAgICAgICAgfSBlbHNlIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICAgICAg
Ly8gRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMpKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSk7Cisg
ICAgICAgICAgICAvLyBFbmNvZGVkSlNWYWx1ZSAoKkdldFZhbHVlRnVuYykoRXhlY1N0YXRlKiwg
SlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFt
ZSk7CiAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihwcm90b09iamVjdCksIHNjcmF0Y2hHUFIsIE1hY3Jv
QXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKHByb3BlcnR5TmFtZS5pbXBsKCkpKTsKICAgICAgICAg
ICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gRnVuY3Rpb25QdHIoc2xvdC5jdXN0b21HZXR0ZXIoKSk7
CiAjZWxzZQpAQCAtNjE3LDcgKzYxNyw3IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJRExp
c3QoRXhlY1N0YXRlKiBleGVjLCBKU1ZhbHVlIGJhc2VWYWx1ZSwgY29uc3QgSWRlbnRpCiAgICAg
ICAgICAgICAgICAgb3BlcmF0aW9uRnVuY3Rpb24gPSBvcGVyYXRpb25DYWxsR2V0dGVyOwogICAg
ICAgICAgICAgfSBlbHNlIHsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAgICAgICAgICAgIC8v
IEVuY29kZWRKU1ZhbHVlICgqR2V0VmFsdWVGdW5jKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworICAg
ICAgICAgICAgICAgIC8vIEVuY29kZWRKU1ZhbHVlICgqR2V0VmFsdWVGdW5jKShFeGVjU3RhdGUq
LCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKTsKICAgICAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShiYXNlR1BSLCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihpZGVudC5p
bXBsKCkpKTsKICAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IEZ1bmN0aW9uUHRy
KHNsb3QuY3VzdG9tR2V0dGVyKCkpOwogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9KU0FjdGl2YXRpb24uY3BwCmluZGV4IDcyZWQxYzcxMjQwNjExNjhiMGFkZGQzMTE2
Zjc1NWExMTdiOGZiOTAuLmY4MzFkYzlhNjkxYTc0YjcyZjI0MjNkZDY2NmFjNTRlYWJiMmQ2Nzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNBY3RpdmF0aW9uLmNwcApA
QCAtMjEwLDkgKzIxMCw5IEBAIEpTVmFsdWUgSlNBY3RpdmF0aW9uOjp0b1RoaXMoSlNDZWxsKiwg
RXhlY1N0YXRlKiBleGVjLCBFQ01BTW9kZSBlY21hTW9kZSkKICAgICByZXR1cm4gZXhlYy0+Z2xv
YmFsVGhpc1ZhbHVlKCk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTQWN0aXZhdGlvbjo6YXJndW1l
bnRzR2V0dGVyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNW
YWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgSlNBY3RpdmF0aW9uOjphcmd1bWVu
dHNHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwg
UHJvcGVydHlOYW1lKQogewotICAgIEpTQWN0aXZhdGlvbiogYWN0aXZhdGlvbiA9IGpzQ2FzdDxK
U0FjdGl2YXRpb24qPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTsKKyAgICBKU0FjdGl2YXRp
b24qIGFjdGl2YXRpb24gPSBqc0Nhc3Q8SlNBY3RpdmF0aW9uKj4oc2xvdEJhc2UpOwogICAgIENh
bGxGcmFtZSogY2FsbEZyYW1lID0gQ2FsbEZyYW1lOjpjcmVhdGUocmVpbnRlcnByZXRfY2FzdDxS
ZWdpc3Rlcio+KGFjdGl2YXRpb24tPm1fcmVnaXN0ZXJzKSk7CiAgICAgQVNTRVJUKCFhY3RpdmF0
aW9uLT5pc1Rvcm5PZmYoKSAmJiAoY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+dXNlc0FyZ3VtZW50
cygpIHx8IGNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPnVzZXNFdmFsKCkpKTsKICAgICBpZiAoYWN0
aXZhdGlvbi0+aXNUb3JuT2ZmKCkgfHwgIShjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT51c2VzQXJn
dW1lbnRzKCkgfHwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+dXNlc0V2YWwoKSkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0FjdGl2YXRpb24uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0aXZhdGlvbi5oCmluZGV4IDc0ZWVlNTkzYTky
ZjQ2YTU3YTJlNGVmZWJlNWUyOTMzNjFiYjMxMWYuLmRmZDY4NzExZDE2YmQ0YmYzYWE4ZTA4YzNl
MGI5MWU5OGJjZTNhNTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0pTQWN0aXZhdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQWN0
aXZhdGlvbi5oCkBAIC0xMDAsNyArMTAwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHN5bWJvbFRh
YmxlUHV0KEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwgSlNWYWx1ZSwgYm9vbCBzaG91bGRUaHJv
dyk7CiAgICAgYm9vbCBzeW1ib2xUYWJsZVB1dFdpdGhBdHRyaWJ1dGVzKFZNJiwgUHJvcGVydHlO
YW1lLCBKU1ZhbHVlLCB1bnNpZ25lZCBhdHRyaWJ1dGVzKTsKIAotICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBhcmd1bWVudHNHZXR0ZXIoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBhcmd1
bWVudHNHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lKTsKIAogICAgIHN0YXRpYyBzaXplX3QgYWxsb2NhdGlvblNpemUoU3ltYm9sVGFibGUq
KTsKICAgICBzdGF0aWMgc2l6ZV90IHN0b3JhZ2VPZmZzZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAKaW5kZXggOTkwZTdjMjI0ZmQ0MTVmM2RjNDNi
Y2FiMTM0ZDUzYzZkODEwN2IzYy4uYjI1MzcwMTAyYmU1OGI1YjA0NTdmY2UxNWRkZWQ2Njg4M2Fh
Y2QxMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlv
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5jcHAK
QEAgLTIyMyw5ICsyMjMsOSBAQCBzdGF0aWMgSlNWYWx1ZSByZXRyaWV2ZUFyZ3VtZW50cyhFeGVj
U3RhdGUqIGV4ZWMsIEpTRnVuY3Rpb24qIGZ1bmN0aW9uT2JqKQogICAgIHJldHVybiBmdW5jdG9y
LnJlc3VsdCgpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjphcmd1bWVudHNHZXR0
ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTRnVuY3Rpb246OmFyZ3VtZW50c0dl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUs
IFByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqID0ganNDYXN0PEpTRnVu
Y3Rpb24qPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTsKKyAgICBKU0Z1bmN0aW9uKiB0aGlz
T2JqID0ganNDYXN0PEpTRnVuY3Rpb24qPihzbG90QmFzZSk7CiAgICAgQVNTRVJUKCF0aGlzT2Jq
LT5pc0hvc3RGdW5jdGlvbigpKTsKIAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUocmV0cmll
dmVBcmd1bWVudHMoZXhlYywgdGhpc09iaikpOwpAQCAtMjc4LDkgKzI3OCw5IEBAIHN0YXRpYyBK
U1ZhbHVlIHJldHJpZXZlQ2FsbGVyRnVuY3Rpb24oRXhlY1N0YXRlKiBleGVjLCBKU0Z1bmN0aW9u
KiBmdW5jdGlvbk9iaikKICAgICByZXR1cm4gZnVuY3Rvci5yZXN1bHQoKTsKIH0KIAotRW5jb2Rl
ZEpTVmFsdWUgSlNGdW5jdGlvbjo6Y2FsbGVyR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2Rl
ZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVk
SlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7Ci0gICAgSlNGdW5j
dGlvbiogdGhpc09iaiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RC
YXNlKSk7CisgICAgSlNGdW5jdGlvbiogdGhpc09iaiA9IGpzQ2FzdDxKU0Z1bmN0aW9uKj4oc2xv
dEJhc2UpOwogICAgIEFTU0VSVCghdGhpc09iai0+aXNIb3N0RnVuY3Rpb24oKSk7CiAgICAgSlNW
YWx1ZSBjYWxsZXIgPSByZXRyaWV2ZUNhbGxlckZ1bmN0aW9uKGV4ZWMsIHRoaXNPYmopOwogCkBA
IC0yOTMsMTYgKzI5MywxNiBAQCBFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpjYWxsZXJHZXR0
ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZQogICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUodGhyb3dUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJGdW5jdGlv
bi5jYWxsZXIgdXNlZCB0byByZXRyaWV2ZSBzdHJpY3QgY2FsbGVyIikpKTsKIH0KIAotRW5jb2Rl
ZEpTVmFsdWUgSlNGdW5jdGlvbjo6bGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFs
dWUgSlNGdW5jdGlvbjo6bGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBzbG90QmFz
ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0Z1bmN0aW9uKiB0aGlz
T2JqID0ganNDYXN0PEpTRnVuY3Rpb24qPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTsKKyAg
ICBKU0Z1bmN0aW9uKiB0aGlzT2JqID0ganNDYXN0PEpTRnVuY3Rpb24qPihzbG90QmFzZSk7CiAg
ICAgQVNTRVJUKCF0aGlzT2JqLT5pc0hvc3RGdW5jdGlvbigpKTsKICAgICByZXR1cm4gSlNWYWx1
ZTo6ZW5jb2RlKGpzTnVtYmVyKHRoaXNPYmotPmpzRXhlY3V0YWJsZSgpLT5wYXJhbWV0ZXJDb3Vu
dCgpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTRnVuY3Rpb246Om5hbWVHZXR0ZXIoRXhlY1N0
YXRlKiwgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpCitFbmNvZGVkSlNWYWx1ZSBKU0Z1bmN0aW9uOjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSosIEpT
T2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKLSAgICBK
U0Z1bmN0aW9uKiB0aGlzT2JqID0ganNDYXN0PEpTRnVuY3Rpb24qPihKU1ZhbHVlOjpkZWNvZGUo
c2xvdEJhc2UpKTsKKyAgICBKU0Z1bmN0aW9uKiB0aGlzT2JqID0ganNDYXN0PEpTRnVuY3Rpb24q
PihzbG90QmFzZSk7CiAgICAgQVNTRVJUKCF0aGlzT2JqLT5pc0hvc3RGdW5jdGlvbigpKTsKICAg
ICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHRoaXNPYmotPmpzRXhlY3V0YWJsZSgpLT5uYW1lVmFs
dWUoKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgKaW5k
ZXggYWEyNDcxZWE2ZGU4ZGNlZTA4ZGE0ZDgxNDZhMDZlNTdhNzgzNzJhOC4uOWY1NDVhMWE2ZDlk
NmRlMWMyMjdmNDY5Njc4YWZlNGMyNjk4OTNjMCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvSlNGdW5jdGlvbi5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTRnVuY3Rpb24uaApAQCAtMTcyLDEwICsxNzIsMTAgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIAogICAgICAgICBKU19FWFBPUlRfUFJJVkFURSBib29sIGlzSG9zdEZ1bmN0aW9u
Tm9uSW5saW5lKCkgY29uc3Q7CiAKLSAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGFyZ3Vt
ZW50c0dldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFBy
b3BlcnR5TmFtZSk7Ci0gICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjYWxsZXJHZXR0ZXIo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
OwotICAgICAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgbGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLSAgICAgICAg
c3RhdGljIEVuY29kZWRKU1ZhbHVlIG5hbWVHZXR0ZXIoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworICAgICAgICBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgYXJndW1lbnRzR2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpT
VmFsdWUsIFByb3BlcnR5TmFtZSk7CisgICAgICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjYWxs
ZXJHZXR0ZXIoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlO
YW1lKTsKKyAgICAgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGxlbmd0aEdldHRlcihFeGVjU3Rh
dGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworICAgICAgICBz
dGF0aWMgRW5jb2RlZEpTVmFsdWUgbmFtZUdldHRlcihFeGVjU3RhdGUqLCBKU09iamVjdCosIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogCiAgICAgICAgIFdyaXRlQmFycmllcjxFeGVj
dXRhYmxlQmFzZT4gbV9leGVjdXRhYmxlOwogICAgICAgICBXcml0ZUJhcnJpZXI8SlNTY29wZT4g
bV9zY29wZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTT2Jq
ZWN0LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09iamVjdC5oCmluZGV4IDAy
YjEzN2IzNTBjMmZhODMyNWJkM2I5NjQ3MTEyYWJlODc2ZjM4M2YuLjMxMTE3MWMxMTMwMmQ2ZmI0
NjNhY2NlYzAwZDRmNWE0ZWY4MzZlMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTT2JqZWN0LmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNPYmplY3QuaApAQCAtMTU0MywxMCArMTU0MywxMCBAQCBBTFdBWVNfSU5MSU5FIEpTVmFsdWUg
UHJvcGVydHlTbG90OjpnZXRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIFByb3BlcnR5TmFtZSBwcm9w
ZQogICAgIGlmIChtX3Byb3BlcnR5VHlwZSA9PSBUeXBlVmFsdWUpCiAgICAgICAgIHJldHVybiBK
U1ZhbHVlOjpkZWNvZGUobV9kYXRhLnZhbHVlKTsKICAgICBpZiAobV9wcm9wZXJ0eVR5cGUgPT0g
VHlwZUN1c3RvbUluZGV4KQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5j
dXN0b21JbmRleC5nZXRJbmRleFZhbHVlKGV4ZWMsIEpTVmFsdWU6OmVuY29kZShzbG90QmFzZSgp
KSwgSlNWYWx1ZTo6ZW5jb2RlKG1fdGhpc1ZhbHVlKSwgbV9kYXRhLmN1c3RvbUluZGV4LmluZGV4
KSk7CisgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUobV9kYXRhLmN1c3RvbUluZGV4Lmdl
dEluZGV4VmFsdWUoZXhlYywgc2xvdEJhc2UoKSwgSlNWYWx1ZTo6ZW5jb2RlKG1fdGhpc1ZhbHVl
KSwgbV9kYXRhLmN1c3RvbUluZGV4LmluZGV4KSk7CiAgICAgaWYgKG1fcHJvcGVydHlUeXBlID09
IFR5cGVHZXR0ZXIpCiAgICAgICAgIHJldHVybiBmdW5jdGlvbkdldHRlcihleGVjKTsKLSAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5jdXN0b20uZ2V0VmFsdWUoZXhlYywgSlNWYWx1
ZTo6ZW5jb2RlKHNsb3RCYXNlKCkpLCBKU1ZhbHVlOjplbmNvZGUobV90aGlzVmFsdWUpLCBwcm9w
ZXJ0eU5hbWUpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5jdXN0b20uZ2V0
VmFsdWUoZXhlYywgc2xvdEJhc2UoKSwgSlNWYWx1ZTo6ZW5jb2RlKG1fdGhpc1ZhbHVlKSwgcHJv
cGVydHlOYW1lKSk7CiB9CiAKIEFMV0FZU19JTkxJTkUgSlNWYWx1ZSBQcm9wZXJ0eVNsb3Q6Omdl
dFZhbHVlKEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25zdApAQCAt
MTU1NCwxMCArMTU1NCwxMCBAQCBBTFdBWVNfSU5MSU5FIEpTVmFsdWUgUHJvcGVydHlTbG90Ojpn
ZXRWYWx1ZShFeGVjU3RhdGUqIGV4ZWMsIHVuc2lnbmVkIHByb3BlcnR5TgogICAgIGlmIChtX3By
b3BlcnR5VHlwZSA9PSBUeXBlVmFsdWUpCiAgICAgICAgIHJldHVybiBKU1ZhbHVlOjpkZWNvZGUo
bV9kYXRhLnZhbHVlKTsKICAgICBpZiAobV9wcm9wZXJ0eVR5cGUgPT0gVHlwZUN1c3RvbUluZGV4
KQotICAgICAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5jdXN0b21JbmRleC5nZXRJ
bmRleFZhbHVlKGV4ZWMsIEpTVmFsdWU6OmVuY29kZShzbG90QmFzZSgpKSwgSlNWYWx1ZTo6ZW5j
b2RlKG1fdGhpc1ZhbHVlKSwgbV9kYXRhLmN1c3RvbUluZGV4LmluZGV4KSk7CisgICAgICAgIHJl
dHVybiBKU1ZhbHVlOjpkZWNvZGUobV9kYXRhLmN1c3RvbUluZGV4LmdldEluZGV4VmFsdWUoZXhl
Yywgc2xvdEJhc2UoKSwgSlNWYWx1ZTo6ZW5jb2RlKG1fdGhpc1ZhbHVlKSwgbV9kYXRhLmN1c3Rv
bUluZGV4LmluZGV4KSk7CiAgICAgaWYgKG1fcHJvcGVydHlUeXBlID09IFR5cGVHZXR0ZXIpCiAg
ICAgICAgIHJldHVybiBmdW5jdGlvbkdldHRlcihleGVjKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZGVjb2RlKG1fZGF0YS5jdXN0b20uZ2V0VmFsdWUoZXhlYywgSlNWYWx1ZTo6ZW5jb2RlKHNsb3RC
YXNlKCkpLCBKU1ZhbHVlOjplbmNvZGUobV90aGlzVmFsdWUpLCBJZGVudGlmaWVyOjpmcm9tKGV4
ZWMsIHByb3BlcnR5TmFtZSkpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZGVjb2RlKG1fZGF0YS5j
dXN0b20uZ2V0VmFsdWUoZXhlYywgc2xvdEJhc2UoKSwgSlNWYWx1ZTo6ZW5jb2RlKG1fdGhpc1Zh
bHVlKSwgSWRlbnRpZmllcjo6ZnJvbShleGVjLCBwcm9wZXJ0eU5hbWUpKSk7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
TnVtYmVyQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvTnVt
YmVyQ29uc3RydWN0b3IuY3BwCmluZGV4IDhlODU4YTI0ZmU1NDVkZmMzMTA1ZTAxNzdmYmNmZTMx
M2ZlNjQ3MGMuLjhkZjZmNGUyNjM4NzhmZDU0ZWMxZGFlOWJlMWM0ZTdmNjFhZjBlMzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL051bWJlckNvbnN0cnVjdG9yLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9OdW1iZXJDb25zdHJ1Y3Rvci5j
cHAKQEAgLTI5LDExICsyOSwxMSBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAotc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTmFOVmFsdWUoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1Zh
bHVlIG51bWJlckNvbnN0cnVjdG9yTmVnSW5maW5pdHkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVl
IG51bWJlckNvbnN0cnVjdG9yUG9zSW5maW5pdHkoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVlIG51
bWJlckNvbnN0cnVjdG9yTWF4VmFsdWUoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVlIG51bWJlckNv
bnN0cnVjdG9yTWluVmFsdWUoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVj
dG9yTmFOVmFsdWUoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck5lZ0luZmlu
aXR5KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7
CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgbnVtYmVyQ29uc3RydWN0b3JQb3NJbmZpbml0eShFeGVj
U3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTWF4VmFsdWUoRXhlY1N0YXRlKiwgSlNP
YmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKK3N0YXRpYyBFbmNvZGVkSlNW
YWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck1pblZhbHVlKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCkBAIC03
NywyNyArNzcsMjcgQEAgYm9vbCBOdW1iZXJDb25zdHJ1Y3Rvcjo6Z2V0T3duUHJvcGVydHlTbG90
KEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgUHIKICAgICByZXR1cm4gZ2V0U3Rh
dGljVmFsdWVTbG90PE51bWJlckNvbnN0cnVjdG9yLCBJbnRlcm5hbEZ1bmN0aW9uPihleGVjLCBF
eGVjU3RhdGU6Om51bWJlckNvbnN0cnVjdG9yVGFibGUoZXhlYy0+dm0oKSksIGpzQ2FzdDxOdW1i
ZXJDb25zdHJ1Y3Rvcio+KG9iamVjdCksIHByb3BlcnR5TmFtZSwgc2xvdCk7CiB9CiAKLXN0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck5hTlZhbHVlKEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTmFOVmFsdWUoRXhlY1N0YXRlKiwgSlNPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoanNOYU4oKSk7CiB9CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBudW1iZXJDb25zdHJ1
Y3Rvck5lZ0luZmluaXR5KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKQorc3RhdGljIEVuY29kZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9y
TmVnSW5maW5pdHkoRXhlY1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoLXN0ZDo6bnVt
ZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkpOwogfQogCi1zdGF0aWMgRW5jb2RlZEpT
VmFsdWUgbnVtYmVyQ29uc3RydWN0b3JQb3NJbmZpbml0eShFeGVjU3RhdGUqLCBFbmNvZGVkSlNW
YWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK3N0YXRpYyBFbmNvZGVkSlNWYWx1
ZSBudW1iZXJDb25zdHJ1Y3RvclBvc0luZmluaXR5KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2Rl
KGpzTnVtYmVyKHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHkoKSkpOwogfQog
Ci1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgbnVtYmVyQ29uc3RydWN0b3JNYXhWYWx1ZShFeGVjU3Rh
dGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck1heFZhbHVlKEV4ZWNTdGF0ZSosIEpT
T2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKDEuNzk3NjkzMTM0ODYyMzE1N0UrMzA4KSk7CiB9CiAKLXN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSBudW1iZXJDb25zdHJ1Y3Rvck1pblZhbHVlKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIG51bWJlckNvbnN0cnVjdG9yTWluVmFsdWUoRXhlY1N0YXRlKiwgSlNPYmpl
Y3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoanNOdW1iZXIoNUUtMzI0KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9Qcm9wZXJ0eVNsb3QuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1Byb3BlcnR5U2xvdC5oCmluZGV4IGQ5MzhmYTMxNjQ1YWYyNmI3NTg1MTRkYjZiMjQ3
OGYxODNlOWVlZTEuLjMzOGVkNDJlYjk2YmE3NzhlNmQyMjc0ZmI0NGI3NmNiNWZiMWE5MmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb3BlcnR5U2xvdC5oCkBAIC0zMSw2
ICszMSw3IEBAIG5hbWVzcGFjZSBKU0MgewogCiBjbGFzcyBFeGVjU3RhdGU7CiBjbGFzcyBHZXR0
ZXJTZXR0ZXI7CitjbGFzcyBKU09iamVjdDsKIAogLy8gRUNNQSAyNjItMyA4LjYuMQogLy8gUHJv
cGVydHkgYXR0cmlidXRlcwpAQCAtNjEsOCArNjIsOCBAQCBwdWJsaWM6CiAgICAgewogICAgIH0K
IAotICAgIHR5cGVkZWYgRW5jb2RlZEpTVmFsdWUgKCpHZXRWYWx1ZUZ1bmMpKEV4ZWNTdGF0ZSos
IEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3Bl
cnR5TmFtZSk7Ci0gICAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSAoKkdldEluZGV4VmFsdWVGdW5j
KShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCB1bnNpZ25lZCk7CisgICAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSAoKkdldFZhbHVl
RnVuYykoRXhlY1N0YXRlKiwgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlz
VmFsdWUsIFByb3BlcnR5TmFtZSk7CisgICAgdHlwZWRlZiBFbmNvZGVkSlNWYWx1ZSAoKkdldElu
ZGV4VmFsdWVGdW5jKShFeGVjU3RhdGUqLCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgdW5zaWduZWQpOwogCiAgICAgSlNWYWx1ZSBnZXRWYWx1ZShFeGVjU3Rh
dGUqLCBQcm9wZXJ0eU5hbWUpIGNvbnN0OwogICAgIEpTVmFsdWUgZ2V0VmFsdWUoRXhlY1N0YXRl
KiwgdW5zaWduZWQgcHJvcGVydHlOYW1lKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcAppbmRleCBiYzUxNmIwNmQ2NjUx
ZjBlNjgyYTIwMTdiZGY4YjAzYmFiZWQ2ZWEyLi44NmI0ZDUzNTdjYTc5ZDZkZjcyMDZiMjJlN2E4
NzAzZGU5OTE2NWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9S
ZWdFeHBDb25zdHJ1Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
UmVnRXhwQ29uc3RydWN0b3IuY3BwCkBAIC0yOSwyMSArMjksMjEgQEAKIAogbmFtZXNwYWNlIEpT
QyB7CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvcklucHV0KEV4ZWNT
dGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLXN0
YXRpYyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3Rvck11bHRpbGluZShFeGVjU3RhdGUq
LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Ci1zdGF0aWMg
RW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMYXN0TWF0Y2goRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yTGFzdFBhcmVuKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLXN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSByZWdFeHBDb25zdHJ1Y3RvckxlZnRDb250ZXh0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1Zh
bHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLXN0YXRpYyBFbmNvZGVkSlNWYWx1
ZSByZWdFeHBDb25zdHJ1Y3RvclJpZ2h0Q29udGV4dChFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Ci1zdGF0aWMgRW5jb2RlZEpTVmFsdWUg
cmVnRXhwQ29uc3RydWN0b3JEb2xsYXIxKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNv
ZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBD
b25zdHJ1Y3RvckRvbGxhcjIoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1Zh
bHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVj
dG9yRG9sbGFyMyhFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFBy
b3BlcnR5TmFtZSk7Ci1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JEb2xs
YXI0KEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlO
YW1lKTsKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjUoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwot
c3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNihFeGVjU3RhdGUq
LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Ci1zdGF0aWMg
RW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JEb2xsYXI3KEV4ZWNTdGF0ZSosIEVuY29k
ZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKLXN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjgoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFs
dWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVl
IHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhw
Q29uc3RydWN0b3JJbnB1dChFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQ
cm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yTXVs
dGlsaW5lKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFt
ZSk7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMYXN0TWF0Y2goRXhl
Y1N0YXRlKiwgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3Rvckxhc3RQYXJlbihFeGVjU3RhdGUqLCBK
U09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRK
U1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yTGVmdENvbnRleHQoRXhlY1N0YXRlKiwgSlNPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBy
ZWdFeHBDb25zdHJ1Y3RvclJpZ2h0Q29udGV4dChFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENv
bnN0cnVjdG9yRG9sbGFyMShFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQ
cm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9s
bGFyMihFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUp
Oworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyMyhFeGVjU3Rh
dGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVu
Y29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNChFeGVjU3RhdGUqLCBKU09iamVj
dCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVl
IHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNShFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRK
U1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0
cnVjdG9yRG9sbGFyNihFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpOworc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFy
NyhFeGVjU3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwor
c3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOChFeGVjU3RhdGUq
LCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOworc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOShFeGVjU3RhdGUqLCBKU09iamVjdCos
IEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogCiBzdGF0aWMgdm9pZCBzZXRSZWdFeHBD
b25zdHJ1Y3RvcklucHV0KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlKTsKIHN0YXRpYyB2b2lkIHNldFJlZ0V4cENvbnN0cnVjdG9yTXVsdGlsaW5l
KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlKTsK
QEAgLTE2Myw3NyArMTYzLDc3IEBAIHN0YXRpYyBpbmxpbmUgUmVnRXhwQ29uc3RydWN0b3IqIGFz
UmVnRXhwQ29uc3RydWN0b3IoRW5jb2RlZEpTVmFsdWUgdmFsdWUpCiAgICAgcmV0dXJuIGpzQ2Fz
dDxSZWdFeHBDb25zdHJ1Y3Rvcio+KEpTVmFsdWU6OmRlY29kZSh2YWx1ZSkpOwogfQogICAgIAot
RW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JEb2xsYXIxKEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitF
bmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjEoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc1JlZ0V4cENvbnN0cnVjdG9yKHNsb3RCYXNlKS0+Z2V0
QmFja3JlZihleGVjLCAxKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9y
RG9sbGFyMihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVk
SlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JE
b2xsYXIyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1
ZSwgUHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNSZWdFeHBD
b25zdHJ1Y3RvcihzbG90QmFzZSktPmdldEJhY2tyZWYoZXhlYywgMikpOwogfQogCi1FbmNvZGVk
SlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjMoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRK
U1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyMyhFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0
KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKGFzUmVnRXhwQ29uc3RydWN0b3Ioc2xvdEJhc2UpLT5nZXRCYWNrcmVm
KGV4ZWMsIDMpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JEb2xsYXI0
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVl
LCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjQo
RXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc1JlZ0V4cENvbnN0cnVj
dG9yKHNsb3RCYXNlKS0+Z2V0QmFja3JlZihleGVjLCA0KSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVl
IHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUg
cmVnRXhwQ29uc3RydWN0b3JEb2xsYXI1KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RC
YXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVl
OjplbmNvZGUoYXNSZWdFeHBDb25zdHJ1Y3RvcihzbG90QmFzZSktPmdldEJhY2tyZWYoZXhlYywg
NSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvckRvbGxhcjYoRXhlY1N0
YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3Bl
cnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyNihFeGVjU3Rh
dGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFt
ZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzUmVnRXhwQ29uc3RydWN0b3Ioc2xv
dEJhc2UpLT5nZXRCYWNrcmVmKGV4ZWMsIDYpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgcmVnRXhw
Q29uc3RydWN0b3JEb2xsYXI3KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJh
c2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSByZWdFeHBD
b25zdHJ1Y3RvckRvbGxhcjcoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShhc1JlZ0V4cENvbnN0cnVjdG9yKHNsb3RCYXNlKS0+Z2V0QmFja3JlZihleGVjLCA3KSk7CiB9
CiAKLUVuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yRG9sbGFyOChFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1l
KQorRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JEb2xsYXI4KEV4ZWNTdGF0ZSogZXhl
YywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewog
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNSZWdFeHBDb25zdHJ1Y3RvcihzbG90QmFzZSkt
PmdldEJhY2tyZWYoZXhlYywgOCkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1
Y3RvckRvbGxhcjkoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVj
dG9yRG9sbGFyOShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpT
VmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzUmVn
RXhwQ29uc3RydWN0b3Ioc2xvdEJhc2UpLT5nZXRCYWNrcmVmKGV4ZWMsIDkpKTsKIH0KIAotRW5j
b2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JJbnB1dChFeGVjU3RhdGUqLCBFbmNvZGVkSlNW
YWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1Zh
bHVlIHJlZ0V4cENvbnN0cnVjdG9ySW5wdXQoRXhlY1N0YXRlKiwgSlNPYmplY3QqIHNsb3RCYXNl
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoYXNSZWdFeHBDb25zdHJ1Y3RvcihzbG90QmFzZSktPmlucHV0KCkpOwogfQogCi1FbmNv
ZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3Rvck11bHRpbGluZShFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRK
U1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yTXVsdGlsaW5lKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBz
bG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKGpzQm9vbGVhbihhc1JlZ0V4cENvbnN0cnVjdG9yKHNsb3RCYXNlKS0+bXVs
dGlsaW5lKCkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMYXN0TWF0
Y2goRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yTGFzdE1h
dGNoKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwg
UHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYXNSZWdFeHBDb25z
dHJ1Y3RvcihzbG90QmFzZSktPmdldEJhY2tyZWYoZXhlYywgMCkpOwogfQogCi1FbmNvZGVkSlNW
YWx1ZSByZWdFeHBDb25zdHJ1Y3Rvckxhc3RQYXJlbihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRK
U1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpT
VmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMYXN0UGFyZW4oRXhlY1N0YXRlKiBleGVjLCBKU09iamVj
dCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJu
IEpTVmFsdWU6OmVuY29kZShhc1JlZ0V4cENvbnN0cnVjdG9yKHNsb3RCYXNlKS0+Z2V0TGFzdFBh
cmVuKGV4ZWMpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMZWZ0Q29u
dGV4dChFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNW
YWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgcmVnRXhwQ29uc3RydWN0b3JMZWZ0
Q29udGV4dChFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzUmVnRXhw
Q29uc3RydWN0b3Ioc2xvdEJhc2UpLT5nZXRMZWZ0Q29udGV4dChleGVjKSk7CiB9CiAKLUVuY29k
ZWRKU1ZhbHVlIHJlZ0V4cENvbnN0cnVjdG9yUmlnaHRDb250ZXh0KEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitF
bmNvZGVkSlNWYWx1ZSByZWdFeHBDb25zdHJ1Y3RvclJpZ2h0Q29udGV4dChFeGVjU3RhdGUqIGV4
ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSkKIHsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGFzUmVnRXhwQ29uc3RydWN0b3Ioc2xvdEJhc2Up
LT5nZXRSaWdodENvbnRleHQoZXhlYykpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1JlZ0V4cE9iamVjdC5jcHAKaW5kZXggZjNiMzc2YzBkZDYzZmU2NWM3MmU2OWE4NmFl
ZjViNDNhOTJmOTkyYS4uNjkyNTQ2Mjg0NzA2YzhkZGE2MzE0MDk3YTRlMDJmYjFjOTEzZWQyNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBPYmplY3QuY3BwCkBA
IC0zOSwxMCArMzksMTAgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLXN0YXRpYyBFbmNvZGVkSlNW
YWx1ZSByZWdFeHBPYmplY3RHbG9iYWwoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cE9i
amVjdElnbm9yZUNhc2UoRXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVl
LCBQcm9wZXJ0eU5hbWUpOwotc3RhdGljIEVuY29kZWRKU1ZhbHVlIHJlZ0V4cE9iamVjdE11bHRp
bGluZShFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5
TmFtZSk7Ci1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0
ZSosIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKK3N0YXRp
YyBFbmNvZGVkSlNWYWx1ZSByZWdFeHBPYmplY3RHbG9iYWwoRXhlY1N0YXRlKiwgSlNPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKTsKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBy
ZWdFeHBPYmplY3RJZ25vcmVDYXNlKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSk7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhwT2JqZWN0TXVs
dGlsaW5lKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFt
ZSk7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSos
IEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CiAKIH0gLy8gbmFtZXNw
YWNlIEpTQwogCkBAIC0xNjAsMTcgKzE2MCwxNyBAQCBzdGF0aWMgaW5saW5lIFJlZ0V4cE9iamVj
dCogYXNSZWdFeHBPYmplY3QoRW5jb2RlZEpTVmFsdWUgdmFsdWUpCiAgICAgcmV0dXJuIGpzQ2Fz
dDxSZWdFeHBPYmplY3QqPihKU1ZhbHVlOjpkZWNvZGUodmFsdWUpKTsKIH0KIAotRW5jb2RlZEpT
VmFsdWUgcmVnRXhwT2JqZWN0R2xvYmFsKEV4ZWNTdGF0ZSosIEVuY29kZWRKU1ZhbHVlIHNsb3RC
YXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgcmVnRXhw
T2JqZWN0R2xvYmFsKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFs
dWUsIFByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzQm9vbGVh
bihhc1JlZ0V4cE9iamVjdChzbG90QmFzZSktPnJlZ0V4cCgpLT5nbG9iYWwoKSkpOwogfQogCi1F
bmNvZGVkSlNWYWx1ZSByZWdFeHBPYmplY3RJZ25vcmVDYXNlKEV4ZWNTdGF0ZSosIEVuY29kZWRK
U1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpT
VmFsdWUgcmVnRXhwT2JqZWN0SWdub3JlQ2FzZShFeGVjU3RhdGUqLCBKU09iamVjdCogc2xvdEJh
c2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShqc0Jvb2xlYW4oYXNSZWdFeHBPYmplY3Qoc2xvdEJhc2UpLT5yZWdFeHAoKS0+aWdu
b3JlQ2FzZSgpKSk7CiB9CiAgCi1FbmNvZGVkSlNWYWx1ZSByZWdFeHBPYmplY3RNdWx0aWxpbmUo
RXhlY1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9w
ZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSByZWdFeHBPYmplY3RNdWx0aWxpbmUoRXhlY1N0YXRl
KiwgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lKQogeyAg
ICAgICAgICAgIAogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNCb29sZWFuKGFzUmVnRXhw
T2JqZWN0KHNsb3RCYXNlKS0+cmVnRXhwKCktPm11bHRpbGluZSgpKSk7CiB9CkBAIC0yODMsNyAr
MjgzLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIHJlZ0V4cE9iamVjdFNvdXJjZUludGVybmFs
KEV4ZWNTdGF0ZSogZXhlYywgU3RyaW5nIHBhdHRlcm4KIAogICAgIAogICAgIAotRW5jb2RlZEpT
VmFsdWUgcmVnRXhwT2JqZWN0U291cmNlKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUg
c2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBy
ZWdFeHBPYmplY3RTb3VyY2UoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCiB7CiAgICAgU3RyaW5nIHBhdHRlcm4gPSBhc1Jl
Z0V4cE9iamVjdChzbG90QmFzZSktPnJlZ0V4cCgpLT5wYXR0ZXJuKCk7CiAgICAgaWYgKHBhdHRl
cm4uaXM4Qml0KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1N0eWxlRGVjbGFyYXRpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNDU1NTdHlsZURlY2xhcmF0aW9uQ3VzdG9tLmNwcAppbmRleCBlODE5MGYyZjFjMDE3NmIyZDUx
MzRmM2UzZmU2MjMyMGQwOTYwMDQ3Li4wN2FmOTE4M2EyNzk5NTAxNTIxNWVmZTc2NzEzMzBlZmIz
NjNhYzk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1N0eWxl
RGVjbGFyYXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
Q1NTU3R5bGVEZWNsYXJhdGlvbkN1c3RvbS5jcHAKQEAgLTMwMyw3ICszMDMsNyBAQCBzdGF0aWMg
aW5saW5lIEpTVmFsdWUgY3NzUHJvcGVydHlHZXR0ZXJQaXhlbE9yUG9zUHJlZml4KEV4ZWNTdGF0
ZSogZXhlYywgSlNDU1NTdAogICAgIHJldHVybiBnZXRQcm9wZXJ0eVZhbHVlRmFsbGJhY2soZXhl
YywgdGhpc09iaiwgcHJvcGVydHlJRCk7CiB9CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjc3NQ
cm9wZXJ0eUdldHRlclBpeGVsT3JQb3NQcmVmaXhDYWxsYmFjayhFeGVjU3RhdGUqIGV4ZWMsIEVu
Y29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2lnbmVkIHByb3BlcnR5
SUQpCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY3NzUHJvcGVydHlHZXR0ZXJQaXhlbE9yUG9zUHJl
Zml4Q2FsbGJhY2soRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgdW5zaWduZWQgcHJvcGVydHlJRCkKIHsKICAgICBKU0NTU1N0eWxlRGVjbGFyYXRp
b24qIHRoaXNPYmplY3QgPSBqc0R5bmFtaWNDYXN0PEpTQ1NTU3R5bGVEZWNsYXJhdGlvbio+KEpT
VmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKICAgICBpZiAoIXRoaXNPYmplY3QpCkBAIC0zMjAs
NyArMzIwLDcgQEAgc3RhdGljIGlubGluZSBKU1ZhbHVlIGNzc1Byb3BlcnR5R2V0dGVyKEV4ZWNT
dGF0ZSogZXhlYywgSlNDU1NTdHlsZURlY2xhcmF0aW9uKgogICAgIHJldHVybiBnZXRQcm9wZXJ0
eVZhbHVlRmFsbGJhY2soZXhlYywgdGhpc09iaiwgcHJvcGVydHlJRCk7CiB9CiAKLXN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlckNhbGxiYWNrKEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgdW5zaWduZWQgcHJvcGVy
dHlJRCkKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBjc3NQcm9wZXJ0eUdldHRlckNhbGxiYWNrKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIHVuc2ln
bmVkIHByb3BlcnR5SUQpCiB7CiAgICAgSlNDU1NTdHlsZURlY2xhcmF0aW9uKiB0aGlzT2JqZWN0
ID0ganNEeW5hbWljQ2FzdDxKU0NTU1N0eWxlRGVjbGFyYXRpb24qPihKU1ZhbHVlOjpkZWNvZGUo
dGhpc1ZhbHVlKSk7CiAgICAgaWYgKCF0aGlzT2JqZWN0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRE9NQmluZGluZy5jcHAKaW5kZXggNTgyMjFkMDBlNDk2YjdhMDk3ZTA5ODJiNDQz
OTFjMDNiMjhmNGMyYy4uMjYyMWM2N2IxMDUzODk1M2I4ZTc5MWI5Yjg5MmY1YjMxZDNhYWRjOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCkBAIC0yNzcs
NyArMjc3LDcgQEAgdm9pZCBwcmludEVycm9yTWVzc2FnZUZvckZyYW1lKEZyYW1lKiBmcmFtZSwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlKQogICAgIGZyYW1lLT5kb2N1bWVudCgpLT5kb21XaW5kb3co
KS0+cHJpbnRFcnJvck1lc3NhZ2UobWVzc2FnZSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIG9iamVj
dFRvU3RyaW5nRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwg
RW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1
ZSBvYmplY3RUb1N0cmluZ0Z1bmN0aW9uR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3Qq
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKICAgICByZXR1
cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZShleGVjLT52bSgpLCBleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCksIDAsIHByb3BlcnR5TmFtZS5wdWJsaWNOYW1lKCksIG9iamVj
dFByb3RvRnVuY1RvU3RyaW5nKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUJpbmRpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5oCmluZGV4IDA5N2NlNmIyNjg3NGQyZjE0YjdmMmE4MWQwYmMzZDQ3YTVkYjk2NGYu
LmY5MWFkYTg4NmVhNmRjMWQ1MTEzN2M5MTQ5OTQ2OGNkNDBjOGNhNDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5oCkBAIC01NzgsNyArNTc4LDcgQEAgYm9vbCBz
aG91bGRBbGxvd0FjY2Vzc1RvRnJhbWUoSlNDOjpFeGVjU3RhdGUqLCBGcmFtZSosIFN0cmluZyYg
bWVzc2FnZSk7CiBib29sIHNob3VsZEFsbG93QWNjZXNzVG9ET01XaW5kb3coSlNDOjpFeGVjU3Rh
dGUqLCBET01XaW5kb3cmLCBTdHJpbmcmIG1lc3NhZ2UpOwogCiB2b2lkIHByaW50RXJyb3JNZXNz
YWdlRm9yRnJhbWUoRnJhbWUqLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwotSlNDOjpFbmNvZGVk
SlNWYWx1ZSBvYmplY3RUb1N0cmluZ0Z1bmN0aW9uR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUp
OworSlNDOjpFbmNvZGVkSlNWYWx1ZSBvYmplY3RUb1N0cmluZ0Z1bmN0aW9uR2V0dGVyKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJv
cGVydHlOYW1lKTsKIAogaW5saW5lIEpTQzo6SlNWYWx1ZSBqc1N0cmluZ1dpdGhDYWNoZShKU0M6
OkV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU3RyaW5nJiBzKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01NaW1lVHlwZUFycmF5Q3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NTWltZVR5cGVBcnJheUN1c3RvbS5jcHAKaW5kZXgg
ZTFjOTEwNTkwNjM1MzJmZDM2ODY3YmFjZjAzMGJhYmRmOTYzZGU2Ny4uNGYxZTNkMTQwNmQwYmM5
NTNhOGMwNGY1NWM4NzQ1MDYxODM1MjY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01NaW1lVHlwZUFycmF5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTU1pbWVUeXBlQXJyYXlDdXN0b20uY3BwCkBAIC0zMyw5ICszMyw5
IEBAIGJvb2wgSlNET01NaW1lVHlwZUFycmF5OjpjYW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRl
KiwgRE9NTWltZVR5cGVBcnJheSogbWltZVR5CiAgICAgcmV0dXJuIG1pbWVUeXBlQXJyYXktPmNh
bkdldEl0ZW1zRm9yTmFtZShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUp
KTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNET01NaW1lVHlwZUFycmF5OjpuYW1lR2V0dGVyKEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQ
cm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgSlNET01NaW1lVHlwZUFy
cmF5OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0RPTU1pbWVU
eXBlQXJyYXkqIHRoaXNPYmogPSBqc0R5bmFtaWNDYXN0PEpTRE9NTWltZVR5cGVBcnJheSo+KEpT
VmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpTRE9NTWltZVR5cGVBcnJheSogdGhpc09i
aiA9IGpzRHluYW1pY0Nhc3Q8SlNET01NaW1lVHlwZUFycmF5Kj4oc2xvdEJhc2UpOwogICAgIGlm
ICghdGhpc09iaikKICAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IoZXhlYyk7CiAgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgp
LCB0aGlzT2JqLT5pbXBsKCkubmFtZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHBy
b3BlcnR5TmFtZSkpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVBsdWdpbkFycmF5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NUGx1Z2luQXJyYXlDdXN0b20uY3BwCmluZGV4IDgwN2Y2M2FmZWFiZDQxZGI3NjMxYzU1YWZl
MTgxZTg4MDFiOTE5OWEuLjlhMmZiNDQ1NzYxNGFiMzAxZDMzOWRhMzhmOGQwYmM4MjJkYmVhN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUGx1Z2luQXJyYXlD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NUGx1Z2luQXJy
YXlDdXN0b20uY3BwCkBAIC0zMyw5ICszMyw5IEBAIGJvb2wgSlNET01QbHVnaW5BcnJheTo6Y2Fu
R2V0SXRlbXNGb3JOYW1lKEV4ZWNTdGF0ZSosIERPTVBsdWdpbkFycmF5KiBwbHVnaW5BcnJhCiAg
ICAgcmV0dXJuIHBsdWdpbkFycmF5LT5jYW5HZXRJdGVtc0Zvck5hbWUocHJvcGVydHlOYW1lVG9B
dG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTRE9NUGx1
Z2luQXJyYXk6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90
QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVk
SlNWYWx1ZSBKU0RPTVBsdWdpbkFycmF5OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNP
YmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFt
ZSkKIHsKLSAgICBKU0RPTVBsdWdpbkFycmF5KiB0aGlzT2JqID0ganNDYXN0PEpTRE9NUGx1Z2lu
QXJyYXkqPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTsKKyAgICBKU0RPTVBsdWdpbkFycmF5
KiB0aGlzT2JqID0ganNDYXN0PEpTRE9NUGx1Z2luQXJyYXkqPihzbG90QmFzZSk7CiAgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgpLCB0
aGlzT2JqLT5pbXBsKCkubmFtZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3Bl
cnR5TmFtZSkpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRE9NUGx1Z2luQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
UGx1Z2luQ3VzdG9tLmNwcAppbmRleCBlMjNlNjBmNzY3MTdmYzBkYTAyYjQ0ZjI0OWI2YjVmZDVm
YTY1ZTBiLi45YjM0MDlhMDNiM2MwZDNhMTgwMzg1NzhiMDhiMjNjOTAxMjI3MGYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVBsdWdpbkN1c3RvbS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01QbHVnaW5DdXN0b20uY3BwCkBAIC0z
Miw5ICszMiw5IEBAIGJvb2wgSlNET01QbHVnaW46OmNhbkdldEl0ZW1zRm9yTmFtZShFeGVjU3Rh
dGUqLCBET01QbHVnaW4qIHBsdWdpbiwgUHJvcGVydHlOYW1lCiAgICAgcmV0dXJuIHBsdWdpbi0+
Y2FuR2V0SXRlbXNGb3JOYW1lKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFt
ZSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0RPTVBsdWdpbjo6bmFtZUdldHRlcihFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTRE9NUGx1Z2luOjpuYW1lR2V0
dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0RPTVBsdWdpbiogdGhpc09iaiA9
IGpzQ2FzdDxKU0RPTVBsdWdpbio+KEpTVmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpT
RE9NUGx1Z2luKiB0aGlzT2JqID0ganNDYXN0PEpTRE9NUGx1Z2luKj4oc2xvdEJhc2UpOwogICAg
IHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxPYmplY3Qo
KSwgdGhpc09iai0+aW1wbCgpLm5hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhw
cm9wZXJ0eU5hbWUpKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0N1c3RvbS5jcHAKaW5kZXggNzk1ZGE1YTQ5NTc3OGMzNjNiMGYwYmRlZWRhMjU4
NWJmZjg3N2NiNi4uYjJlYzhiNWFmZjQ4OTJmZmE5YmIwNmYxMWExMTZiMTQxNWNmMzQ4ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApA
QCAtNzIsMjQgKzcyLDI0IEBAIHZvaWQgSlNET01XaW5kb3c6OnZpc2l0Q2hpbGRyZW4oSlNDZWxs
KiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIH0KIAogdGVtcGxhdGU8TmF0aXZlRnVuY3Rp
b24gbmF0aXZlRnVuY3Rpb24sIGludCBsZW5ndGg+Ci1FbmNvZGVkSlNWYWx1ZSBub25DYWNoaW5n
U3RhdGljRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5j
b2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1ZSBu
b25DYWNoaW5nU3RhdGljRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCos
IEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVy
biBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMtPnZtKCksIGV4ZWMtPmxl
eGljYWxHbG9iYWxPYmplY3QoKSwgbGVuZ3RoLCBwcm9wZXJ0eU5hbWUucHVibGljTmFtZSgpLCBu
YXRpdmVGdW5jdGlvbikpOwogfQogCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgY2hpbGRGcmFtZUdl
dHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNW
YWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBj
aGlsZEZyYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICByZXR1cm4gSlNW
YWx1ZTo6ZW5jb2RlKHRvSlMoZXhlYywganNDYXN0PEpTRE9NV2luZG93Kj4oSlNWYWx1ZTo6ZGVj
b2RlKHNsb3RCYXNlKSktPmltcGwoKS5mcmFtZSgpLT50cmVlKCkuc2NvcGVkQ2hpbGQocHJvcGVy
dHlOYW1lVG9BdG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSktPmRvY3VtZW50KCktPmRvbVdpbmRv
dygpKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIGpzQ2FzdDxKU0RP
TVdpbmRvdyo+KHNsb3RCYXNlKS0+aW1wbCgpLmZyYW1lKCktPnRyZWUoKS5zY29wZWRDaGlsZChw
cm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpKS0+ZG9jdW1lbnQoKS0+ZG9t
V2luZG93KCkpKTsKIH0KIAotc3RhdGljIEVuY29kZWRKU1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCB1bnNp
Z25lZCBpbmRleCkKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3RhdGUq
IGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIHVuc2lnbmVkIGluZGV4
KQogewotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCBqc0Nhc3Q8SlNET01X
aW5kb3cqPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKS0+aW1wbCgpLmZyYW1lKCktPnRyZWUo
KS5zY29wZWRDaGlsZChpbmRleCktPmRvY3VtZW50KCktPmRvbVdpbmRvdygpKSk7CisgICAgcmV0
dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIGpzQ2FzdDxKU0RPTVdpbmRvdyo+KHNsb3RC
YXNlKS0+aW1wbCgpLmZyYW1lKCktPnRyZWUoKS5zY29wZWRDaGlsZChpbmRleCktPmRvY3VtZW50
KCktPmRvbVdpbmRvdygpKSk7CiB9CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBuYW1lZEl0ZW1H
ZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpT
VmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
bmFtZWRJdGVtR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNv
ZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0RPTVdpbmRv
d0Jhc2UqIHRoaXNPYmogPSBqc0Nhc3Q8SlNET01XaW5kb3cqPihKU1ZhbHVlOjpkZWNvZGUoc2xv
dEJhc2UpKTsKKyAgICBKU0RPTVdpbmRvd0Jhc2UqIHRoaXNPYmogPSBqc0Nhc3Q8SlNET01XaW5k
b3cqPihzbG90QmFzZSk7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gdGhpc09iai0+aW1wbCgp
LmZyYW1lKCktPmRvY3VtZW50KCk7CiAKICAgICBBU1NFUlQoQmluZGluZ1NlY3VyaXR5OjpzaG91
bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KGV4ZWMsIHRoaXNPYmotPmltcGwoKSkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQWxsQ29sbGVjdGlvbkN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9uQ3Vz
dG9tLmNwcAppbmRleCAyMjdjMzRkZmIwZDYyMmVkNzVhNGJjMDQ3MzYzMDE1ZTkzNmYzNjMxLi5m
N2UzMmI0MGFjMjc5Y2YwMWRmMDlhODg2ZWE0ZGMxNTI5MzVlZmQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxBbGxDb2xsZWN0aW9uQ3VzdG9tLmNw
cApAQCAtMTAwLDkgKzEwMCw5IEBAIGJvb2wgSlNIVE1MQWxsQ29sbGVjdGlvbjo6Y2FuR2V0SXRl
bXNGb3JOYW1lKEV4ZWNTdGF0ZSosIEhUTUxBbGxDb2xsZWN0aW9uKiBjb2xsCiAgICAgcmV0dXJu
IGNvbGxlY3Rpb24tPmhhc05hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmluZyhwcm9w
ZXJ0eU5hbWUpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNIVE1MQWxsQ29sbGVjdGlvbjo6bmFt
ZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVk
SlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTSFRN
TEFsbENvbGxlY3Rpb246Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xv
dEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAg
IEpTSFRNTEFsbENvbGxlY3Rpb24qIHRoaXNPYmogPSBqc0Nhc3Q8SlNIVE1MQWxsQ29sbGVjdGlv
bio+KEpTVmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpTSFRNTEFsbENvbGxlY3Rpb24q
IHRoaXNPYmogPSBqc0Nhc3Q8SlNIVE1MQWxsQ29sbGVjdGlvbio+KHNsb3RCYXNlKTsKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGdldE5hbWVkSXRlbXMoZXhlYywgdGhpc09iaiwgcHJvcGVy
dHlOYW1lKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
SFRNTENvbGxlY3Rpb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNI
VE1MQ29sbGVjdGlvbkN1c3RvbS5jcHAKaW5kZXggZWVjYzA4YjBhNTg2NDYyOTgwYjA3NjE3NDA5
Y2YxZGRkNjBhNzU3Yy4uMWIwMmNiMmE2YmZiYTM2Zjk0YTdmY2NhZDk1NDg0NWZlMDE0MmY2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ29sbGVjdGlvbkN1
c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MQ29sbGVjdGlv
bkN1c3RvbS5jcHAKQEAgLTQ1LDkgKzQ1LDkgQEAgYm9vbCBKU0hUTUxDb2xsZWN0aW9uOjpjYW5H
ZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRlKiwgSFRNTENvbGxlY3Rpb24qIGNvbGxlY3Rpb24KICAg
ICByZXR1cm4gY29sbGVjdGlvbi0+aGFzTmFtZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3Ry
aW5nKHByb3BlcnR5TmFtZSkpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0hUTUxDb2xsZWN0aW9u
OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUg
SlNIVE1MQ29sbGVjdGlvbjo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBz
bG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7Ci0g
ICAgSlNIVE1MQ29sbGVjdGlvbiogY29sbGVjdGlvbiA9IGpzQ2FzdDxKU0hUTUxDb2xsZWN0aW9u
Kj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RCYXNlKSk7CisgICAgSlNIVE1MQ29sbGVjdGlvbiogY29s
bGVjdGlvbiA9IGpzQ2FzdDxKU0hUTUxDb2xsZWN0aW9uKj4oc2xvdEJhc2UpOwogICAgIGNvbnN0
IEF0b21pY1N0cmluZyYgbmFtZSA9IHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5
TmFtZSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0b0pTKGV4ZWMsIGNvbGxlY3Rpb24t
Pmdsb2JhbE9iamVjdCgpLCBjb2xsZWN0aW9uLT5pbXBsKCkubmFtZWRJdGVtKG5hbWUpKSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxEb2N1bWVudEN1c3Rv
bS5jcHAKaW5kZXggN2U3YmI1YTQ0ZTliODgwNDFmZmI1YzI5NWU2YWZkNThmYWI0YTcwNi4uNmE0
ZTk4YTk2NDhhOTFkZDhhNWE1ZmYwMzQzNjk5ODdmNGJmNTU2NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1MRG9jdW1lbnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTERvY3VtZW50Q3VzdG9tLmNwcApAQCAtNTcsOSAr
NTcsOSBAQCBib29sIEpTSFRNTERvY3VtZW50OjpjYW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRl
KiwgSFRNTERvY3VtZW50KiBkb2N1bWVudCwgUHJvcAogICAgIHJldHVybiBhdG9taWNQcm9wZXJ0
eU5hbWUgJiYgZG9jdW1lbnQtPmhhc0RvY3VtZW50TmFtZWRJdGVtKCphdG9taWNQcm9wZXJ0eU5h
bWUpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0hUTUxEb2N1bWVudDo6bmFtZUdldHRlcihFeGVj
U3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJv
cGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTSFRNTERvY3VtZW50Ojpu
YW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNW
YWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBKU0hUTUxEb2N1bWVudCog
dGhpc09iaiA9IGpzQ2FzdDxKU0hUTUxEb2N1bWVudCo+KEpTVmFsdWU6OmRlY29kZShzbG90QmFz
ZSkpOworICAgIEpTSFRNTERvY3VtZW50KiB0aGlzT2JqID0ganNDYXN0PEpTSFRNTERvY3VtZW50
Kj4oc2xvdEJhc2UpOwogICAgIEhUTUxEb2N1bWVudCYgZG9jdW1lbnQgPSB0aGlzT2JqLT5pbXBs
KCk7CiAKICAgICBBdG9taWNTdHJpbmdJbXBsKiBhdG9taWNQcm9wZXJ0eU5hbWUgPSBmaW5kQXRv
bWljU3RyaW5nKHByb3BlcnR5TmFtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxGb3JtQ29udHJvbHNDb2xsZWN0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3Bw
CmluZGV4IGZjNDFlYjYxYTBjNGQ5MTAxY2E5NmZiMWVlMDI1OTRiZWE2MDNlZjcuLjUyMjllNTUz
ZGY2NmVlMGIwZjg5YWRjMjZiMjYxOGExOWRlYjQ2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb25DdXN0b20uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rp
b25DdXN0b20uY3BwCkBAIC01Nyw5ICs1Nyw5IEBAIGJvb2wgSlNIVE1MRm9ybUNvbnRyb2xzQ29s
bGVjdGlvbjo6Y2FuR2V0SXRlbXNGb3JOYW1lKEV4ZWNTdGF0ZSosIEhUTUxGb3JtQ29udHJvCiAg
ICAgcmV0dXJuIGNvbGxlY3Rpb24tPmhhc05hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0
cmluZyhwcm9wZXJ0eU5hbWUpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNIVE1MRm9ybUNvbnRy
b2xzQ29sbGVjdGlvbjo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
IHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK0Vu
Y29kZWRKU1ZhbHVlIEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb246Om5hbWVHZXR0ZXIoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAgIEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24q
IHRoaXNPYmogPSBqc0Nhc3Q8SlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbio+KEpTVmFsdWU6
OmRlY29kZShzbG90QmFzZSkpOworICAgIEpTSFRNTEZvcm1Db250cm9sc0NvbGxlY3Rpb24qIHRo
aXNPYmogPSBqc0Nhc3Q8SlNIVE1MRm9ybUNvbnRyb2xzQ29sbGVjdGlvbio+KHNsb3RCYXNlKTsK
ICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGdldE5hbWVkSXRlbXMoZXhlYywgdGhpc09iaiwg
cHJvcGVydHlOYW1lKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTSFRNTEZvcm1FbGVtZW50Q3VzdG9tLmNwcAppbmRleCA0MTY4ODcyNjFiZGQ2NjkwMGZj
YTQwM2JlYTY2MDg2OGRmM2MyMmEwLi4xMDAyZDZjYTA1M2NhNWYyMTE2ZTc4ZTJlNDU4ZDU4ZTg1
MzZiNjUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hUTUxGb3Jt
RWxlbWVudEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNIVE1M
Rm9ybUVsZW1lbnRDdXN0b20uY3BwCkBAIC00Miw5ICs0Miw5IEBAIGJvb2wgSlNIVE1MRm9ybUVs
ZW1lbnQ6OmNhbkdldEl0ZW1zRm9yTmFtZShFeGVjU3RhdGUqLCBIVE1MRm9ybUVsZW1lbnQqIGZv
cm0sIFByCiAgICAgcmV0dXJuIGZvcm0tPmhhc05hbWVkRWxlbWVudChwcm9wZXJ0eU5hbWVUb0F0
b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgSlNIVE1MRm9y
bUVsZW1lbnQ6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90
QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVk
SlNWYWx1ZSBKU0hUTUxGb3JtRWxlbWVudDo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpT
T2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpCiB7Ci0gICAgSlNIVE1MRm9ybUVsZW1lbnQqIGpzRm9ybSA9IGpzQ2FzdDxKU0hUTUxGb3Jt
RWxlbWVudCo+KEpTVmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpTSFRNTEZvcm1FbGVt
ZW50KiBqc0Zvcm0gPSBqc0Nhc3Q8SlNIVE1MRm9ybUVsZW1lbnQqPihzbG90QmFzZSk7CiAgICAg
SFRNTEZvcm1FbGVtZW50JiBmb3JtID0ganNGb3JtLT5pbXBsKCk7CiAKICAgICBWZWN0b3I8UmVm
PEVsZW1lbnQ+PiBuYW1lZEl0ZW1zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSFRNTEZyYW1lU2V0RWxlbWVudEN1c3RvbS5jcHAKaW5kZXggNmRmNjFkMWMx
Njc5NDlkNTMwNjBiY2EwMGUwY2YyMzBmMTc1NGJmMi4uZjI3ZDMzYTkxMmU1MTliMWNiYWFjMjk3
NjI5YWU5NjEzZmZjZDFlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNIVE1MRnJhbWVTZXRFbGVtZW50Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0hUTUxGcmFtZVNldEVsZW1lbnRDdXN0b20uY3BwCkBAIC00Nyw5ICs0Nyw5IEBA
IGJvb2wgSlNIVE1MRnJhbWVTZXRFbGVtZW50OjpjYW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRl
KiwgSFRNTEZyYW1lU2V0RWxlbWVudCoKICAgICByZXR1cm4gZnJhbWUgJiYgZnJhbWUtPmhhc1Rh
Z05hbWUoZnJhbWVUYWcpOwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU0hUTUxGcmFtZVNldEVsZW1l
bnQ6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFzZSwg
RW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNWYWx1
ZSBKU0hUTUxGcmFtZVNldEVsZW1lbnQ6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09i
amVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
KQogewotICAgIEhUTUxFbGVtZW50JiBlbGVtZW50ID0ganNDYXN0PEpTSFRNTEVsZW1lbnQqPihK
U1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKS0+aW1wbCgpOworICAgIEhUTUxFbGVtZW50JiBlbGVt
ZW50ID0ganNDYXN0PEpTSFRNTEVsZW1lbnQqPihzbG90QmFzZSktPmltcGwoKTsKICAgICBOb2Rl
KiBmcmFtZUVsZW1lbnQgPSBlbGVtZW50LmNoaWxkcmVuKCktPm5hbWVkSXRlbShwcm9wZXJ0eU5h
bWVUb0F0b21pY1N0cmluZyhwcm9wZXJ0eU5hbWUpKTsKICAgICBpZiAoRG9jdW1lbnQqIGRvY3Vt
ZW50ID0gdG9IVE1MRnJhbWVFbGVtZW50KGZyYW1lRWxlbWVudCktPmNvbnRlbnREb2N1bWVudCgp
KSB7CiAgICAgICAgIGlmIChKU0RPTVdpbmRvd1NoZWxsKiB3aW5kb3cgPSB0b0pTRE9NV2luZG93
U2hlbGwoZG9jdW1lbnQtPmZyYW1lKCksIGN1cnJlbnRXb3JsZChleGVjKSkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0hpc3RvcnlDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNIaXN0b3J5Q3VzdG9tLmNwcAppbmRleCBjZTA0OWU2OTQ2
Y2E2ODIyMjA4MmJlNWJlYjQ3YmFmOWIyZDg5NDNkLi4wNzFmMzBiM2Y2MGIwNTQxYjdjN2E5MTFk
NzgwYjU4MGM3YmEyNmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0hpc3RvcnlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSGlz
dG9yeUN1c3RvbS5jcHAKQEAgLTM4LDE3ICszOCwxNyBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBub25DYWNoaW5n
U3RhdGljQmFja0Z1bmN0aW9uR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIG5vbkNhY2hpbmdTdGF0aWNCYWNrRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBl
eGVjLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1l
KQogewogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMt
PnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSwgMCwgcHJvcGVydHlOYW1lLnB1Ymxp
Y05hbWUoKSwganNIaXN0b3J5UHJvdG90eXBlRnVuY3Rpb25CYWNrKSk7CiB9CiAKLXN0YXRpYyBF
bmNvZGVkSlNWYWx1ZSBub25DYWNoaW5nU3RhdGljRm9yd2FyZEZ1bmN0aW9uR2V0dGVyKEV4ZWNT
dGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUg
cHJvcGVydHlOYW1lKQorc3RhdGljIEVuY29kZWRKU1ZhbHVlIG5vbkNhY2hpbmdTdGF0aWNGb3J3
YXJkRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEVuY29kZWRKU1Zh
bHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1ZhbHVlOjpl
bmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKSwgMCwgcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKSwganNIaXN0b3J5UHJvdG90eXBl
RnVuY3Rpb25Gb3J3YXJkKSk7CiB9CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBub25DYWNoaW5n
U3RhdGljR29GdW5jdGlvbkdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBF
bmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3N0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBub25DYWNoaW5nU3RhdGljR29GdW5jdGlvbkdldHRlcihFeGVjU3RhdGUqIGV4ZWMs
IEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7
CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Z1bmN0aW9uOjpjcmVhdGUoZXhlYy0+dm0o
KSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLCAxLCBwcm9wZXJ0eU5hbWUucHVibGljTmFt
ZSgpLCBqc0hpc3RvcnlQcm90b3R5cGVGdW5jdGlvbkdvKSk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCmluZGV4IGM5OWY5MDRkODA2Mjcy
ZDQyYzQ1NmE3NjU2NDRjOWM1ZGFiN2M1MGYuLjUwMGFkZTBlY2I4MTIxMWJlMmY3MTFhOWZmNDRm
NjUzZjhjZTE4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9j
YXRpb25DdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTG9jYXRp
b25DdXN0b20uY3BwCkBAIC0zMCwxNyArMzAsMTcgQEAgdXNpbmcgbmFtZXNwYWNlIEpTQzsKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgRW5jb2RlZEpTVmFsdWUgbm9uQ2FjaGluZ1N0
YXRpY1JlcGxhY2VGdW5jdGlvbkdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVl
LCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKK3N0YXRpYyBFbmNv
ZGVkSlNWYWx1ZSBub25DYWNoaW5nU3RhdGljUmVwbGFjZUZ1bmN0aW9uR2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNyZWF0ZShl
eGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIDEsIHByb3BlcnR5TmFtZS5w
dWJsaWNOYW1lKCksIGpzTG9jYXRpb25Qcm90b3R5cGVGdW5jdGlvblJlcGxhY2UpKTsKIH0KIAot
c3RhdGljIEVuY29kZWRKU1ZhbHVlIG5vbkNhY2hpbmdTdGF0aWNSZWxvYWRGdW5jdGlvbkdldHRl
cihFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSkKK3N0YXRpYyBFbmNvZGVkSlNWYWx1ZSBub25DYWNoaW5nU3Rh
dGljUmVsb2FkRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewogICAgIHJldHVybiBKU1Zh
bHVlOjplbmNvZGUoSlNGdW5jdGlvbjo6Y3JlYXRlKGV4ZWMtPnZtKCksIGV4ZWMtPmxleGljYWxH
bG9iYWxPYmplY3QoKSwgMCwgcHJvcGVydHlOYW1lLnB1YmxpY05hbWUoKSwganNMb2NhdGlvblBy
b3RvdHlwZUZ1bmN0aW9uUmVsb2FkKSk7CiB9CiAKLXN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBub25D
YWNoaW5nU3RhdGljQXNzaWduRnVuY3Rpb25HZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitzdGF0
aWMgRW5jb2RlZEpTVmFsdWUgbm9uQ2FjaGluZ1N0YXRpY0Fzc2lnbkZ1bmN0aW9uR2V0dGVyKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKIHsKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTRnVuY3Rpb246OmNy
ZWF0ZShleGVjLT52bSgpLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCksIDEsIHByb3BlcnR5
TmFtZS5wdWJsaWNOYW1lKCksIGpzTG9jYXRpb25Qcm90b3R5cGVGdW5jdGlvbkFzc2lnbikpOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNOYW1lZE5vZGVNYXBDdXN0
b20uY3BwCmluZGV4IDVlM2M4OThmYmRmMGU2NzY0MzQ4NWUxMmUxN2M5YjVkZTk5ZTY1MWUuLjc4
YjljYWZmYjExMDczYmZhNGY0NGNjYmEzNGFiMWRjNWYwYjk3NTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTmFtZWROb2RlTWFwQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU05hbWVkTm9kZU1hcEN1c3RvbS5jcHAKQEAgLTQwLDkg
KzQwLDkgQEAgYm9vbCBKU05hbWVkTm9kZU1hcDo6Y2FuR2V0SXRlbXNGb3JOYW1lKEV4ZWNTdGF0
ZSosIE5hbWVkTm9kZU1hcCogaW1wbCwgUHJvcGVydHkKICAgICByZXR1cm4gaW1wbC0+Z2V0TmFt
ZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpOwogfQogCi1F
bmNvZGVkSlNWYWx1ZSBKU05hbWVkTm9kZU1hcDo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTTmFtZWROb2RlTWFwOjpuYW1lR2V0dGVyKEV4
ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSkKIHsKLSAgICBKU05hbWVkTm9kZU1hcCogdGhpc09iaiA9IGpz
Q2FzdDxKU05hbWVkTm9kZU1hcCo+KEpTVmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpT
TmFtZWROb2RlTWFwKiB0aGlzT2JqID0ganNDYXN0PEpTTmFtZWROb2RlTWFwKj4oc2xvdEJhc2Up
OwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxP
YmplY3QoKSwgdGhpc09iai0+aW1wbCgpLmdldE5hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21p
Y1N0cmluZyhwcm9wZXJ0eU5hbWUpKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmNwcAppbmRleCA3ZjYyYWEy
YTc4YjhlNDIxMmViNTFiODcxMTJlYTE4Njc1NzI2NmM3Li41MGJiNDY4NmQ1M2VmOWQxOTE4MTY0
ZDZmOWIxOTY2ODhmMmY4YWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTUGx1Z2luRWxlbWVudEZ1bmN0aW9ucy5jcHAKQEAgLTEwMCw3ICsxMDAsNyBAQCBK
U09iamVjdCogcGx1Z2luU2NyaXB0T2JqZWN0KEV4ZWNTdGF0ZSogZXhlYywgSlNIVE1MRWxlbWVu
dCoganNIVE1MRWxlbWVudCkKICAgICByZXR1cm4gaW5zdGFuY2UtPmNyZWF0ZVJ1bnRpbWVPYmpl
Y3QoZXhlYyk7CiB9CiAgICAgCi1FbmNvZGVkSlNWYWx1ZSBwbHVnaW5FbGVtZW50UHJvcGVydHlH
ZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgcGx1Z2lu
RWxlbWVudFByb3BlcnR5R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVk
SlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7CiAKICAgICBK
U0hUTUxFbGVtZW50KiB0aGlzT2JqZWN0ID0ganNEeW5hbWljQ2FzdDxKU0hUTUxFbGVtZW50Kj4o
SlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNQbHVnaW5FbGVtZW50RnVuY3Rpb25zLmggYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaAppbmRleCA4YTJlOTlkNTk2NTA1
ZDlmMjM1NDg4NTM0MjZjYjQ1MDNiZDE3N2U0Li41MmIxODgzNDljNGI0ZjFlOTAwZmY4MTAyZjll
ODVhY2U5NDllOWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1Bs
dWdpbkVsZW1lbnRGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1BsdWdpbkVsZW1lbnRGdW5jdGlvbnMuaApAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAgICAgSlNDOjpCaW5kaW5nczo6SW5zdGFuY2UqIHBsdWdpbkluc3RhbmNlKEhUTUxF
bGVtZW50Jik7CiAgICAgSlNDOjpKU09iamVjdCogcGx1Z2luU2NyaXB0T2JqZWN0KEpTQzo6RXhl
Y1N0YXRlKiwgSlNIVE1MRWxlbWVudCopOwogCi0gICAgSlNDOjpFbmNvZGVkSlNWYWx1ZSBwbHVn
aW5FbGVtZW50UHJvcGVydHlHZXR0ZXIoSlNDOjpFeGVjU3RhdGUqLCBKU0M6OkVuY29kZWRKU1Zh
bHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CisgICAgSlNDOjpF
bmNvZGVkSlNWYWx1ZSBwbHVnaW5FbGVtZW50UHJvcGVydHlHZXR0ZXIoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUp
OwogICAgIGJvb2wgcGx1Z2luRWxlbWVudEN1c3RvbUdldE93blByb3BlcnR5U2xvdChKU0M6OkV4
ZWNTdGF0ZSosIEpTQzo6UHJvcGVydHlOYW1lLCBKU0M6OlByb3BlcnR5U2xvdCYsIEpTSFRNTEVs
ZW1lbnQqKTsKICAgICBib29sIHBsdWdpbkVsZW1lbnRDdXN0b21QdXQoSlNDOjpFeGVjU3RhdGUq
LCBKU0M6OlByb3BlcnR5TmFtZSwgSlNDOjpKU1ZhbHVlLCBKU0hUTUxFbGVtZW50KiwgSlNDOjpQ
dXRQcm9wZXJ0eVNsb3QmKTsKICAgICBKU0M6OkNhbGxUeXBlIHBsdWdpbkVsZW1lbnRHZXRDYWxs
RGF0YShKU0hUTUxFbGVtZW50KiwgSlNDOjpDYWxsRGF0YSYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNSVENTdGF0c1Jlc3BvbnNlQ3VzdG9tLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTUlRDU3RhdHNSZXNwb25zZUN1c3RvbS5jcHAKaW5kZXgg
ODIxZGMxYjFmNjJkNTUyYWUxMjIwNzBmZGFmYTI5MzVmYjc2YjQ3Ny4uNjJkYzhkOWE0OWFiYWMz
OTU5ZmFiNWRhOWE0NjA5ODA3Y2QyN2YwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNSVENTdGF0c1Jlc3BvbnNlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU1JUQ1N0YXRzUmVzcG9uc2VDdXN0b20uY3BwCkBAIC00MCw5ICs0MCw5
IEBAIGJvb2wgSlNSVENTdGF0c1Jlc3BvbnNlOjpjYW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRl
KiwgUlRDU3RhdHNSZXNwb25zZSogcmVzcG9uCiAgICAgcmV0dXJuIHJlc3BvbnNlLT5jYW5HZXRJ
dGVtc0Zvck5hbWUocHJvcGVydHlOYW1lVG9BdG9taWNTdHJpbmcocHJvcGVydHlOYW1lKSk7CiB9
CiAKLUVuY29kZWRKU1ZhbHVlIEpTUlRDU3RhdHNSZXNwb25zZTo6bmFtZUdldHRlcihFeGVjU3Rh
dGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVy
dHlOYW1lIHByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIEpTUlRDU3RhdHNSZXNwb25zZTo6
bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpT
VmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgSlNSVENTdGF0c1Jlc3Bv
bnNlKiB0aGlzT2JqID0ganNDYXN0PEpTUlRDU3RhdHNSZXNwb25zZSo+KEpTVmFsdWU6OmRlY29k
ZShzbG90QmFzZSkpOworICAgIEpTUlRDU3RhdHNSZXNwb25zZSogdGhpc09iaiA9IGpzQ2FzdDxK
U1JUQ1N0YXRzUmVzcG9uc2UqPihzbG90QmFzZSk7CiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZSh0b0pTKGV4ZWMsIHRoaXNPYmotPmdsb2JhbE9iamVjdCgpLCB0aGlzT2JqLT5pbXBsKCkubmFt
ZWRJdGVtKHByb3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpKSk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3RvcmFnZUN1c3RvbS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1N0b3JhZ2VDdXN0b20uY3BwCmluZGV4
IGYyZTIyYTNiNmE1ZWI5MjkwYzk4MzhhYzkyNGMzNDVkNDE5MzcwZGQuLjA2ZWMzZWE0OTY3NzBl
NDlmZmRiYmE4OWUwNDkzOTFjOTI0MjIyNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU3RvcmFnZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNTdG9yYWdlQ3VzdG9tLmNwcApAQCAtNDIsMTEgKzQyLDExIEBAIGJvb2wgSlNTdG9y
YWdlOjpjYW5HZXRJdGVtc0Zvck5hbWUoRXhlY1N0YXRlKiBleGVjLCBTdG9yYWdlKiBpbXBsLCBQ
cm9wZXJ0eU5hbWUKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi1FbmNvZGVkSlNWYWx1ZSBKU1N0
b3JhZ2U6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmFz
ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNvZGVkSlNW
YWx1ZSBKU1N0b3JhZ2U6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xv
dEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAg
IEpTU3RvcmFnZSogdGhpc09iaiA9IGpzQ2FzdDxKU1N0b3JhZ2UqPihKU1ZhbHVlOjpkZWNvZGUo
c2xvdEJhc2UpKTsKKyAgICBKU1N0b3JhZ2UqIHRoaXNPYmogPSBqc0Nhc3Q8SlNTdG9yYWdlKj4o
c2xvdEJhc2UpOwogICAgICAgICAKLSAgICBKU1ZhbHVlIHByb3RvdHlwZSA9IGFzT2JqZWN0KEpT
VmFsdWU6OmRlY29kZShzbG90QmFzZSkpLT5wcm90b3R5cGUoKTsKKyAgICBKU1ZhbHVlIHByb3Rv
dHlwZSA9IHNsb3RCYXNlLT5wcm90b3R5cGUoKTsKICAgICBpZiAocHJvdG90eXBlLmlzT2JqZWN0
KCkgJiYgYXNPYmplY3QocHJvdG90eXBlKS0+aGFzUHJvcGVydHkoZXhlYywgcHJvcGVydHlOYW1l
KSkKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc09iamVjdChwcm90b3R5cGUpLT5n
ZXQoZXhlYywgcHJvcGVydHlOYW1lKSk7CiAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1N0eWxlU2hlZXRMaXN0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTU3R5bGVTaGVldExpc3RDdXN0b20uY3BwCmluZGV4IGE1YjRlZWY4NTE4Nzdl
ZTlkYWE2Nzk5M2FlMDA2ZjhlMGQ3NjEzYzUuLmQzYmVhNzIxOTJlNjZjOWM4NWE0YjA3YmJkY2Rl
YjRiN2Y2YjljYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU3R5
bGVTaGVldExpc3RDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pT
U3R5bGVTaGVldExpc3RDdXN0b20uY3BwCkBAIC00MCw5ICs0MCw5IEBAIGJvb2wgSlNTdHlsZVNo
ZWV0TGlzdDo6Y2FuR2V0SXRlbXNGb3JOYW1lKEV4ZWNTdGF0ZSosIFN0eWxlU2hlZXRMaXN0KiBz
dHlsZVNoZWV0CiAgICAgcmV0dXJuIHN0eWxlU2hlZXRMaXN0LT5nZXROYW1lZEl0ZW0ocHJvcGVy
dHlOYW1lVG9TdHJpbmcocHJvcGVydHlOYW1lKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIEpTU3R5
bGVTaGVldExpc3Q6Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBz
bG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitFbmNv
ZGVkSlNWYWx1ZSBKU1N0eWxlU2hlZXRMaXN0OjpuYW1lR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywg
SlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3BlcnR5
TmFtZSkKIHsKLSAgICBKU1N0eWxlU2hlZXRMaXN0KiB0aGlzT2JqID0ganNDYXN0PEpTU3R5bGVT
aGVldExpc3QqPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTsKKyAgICBKU1N0eWxlU2hlZXRM
aXN0KiB0aGlzT2JqID0ganNDYXN0PEpTU3R5bGVTaGVldExpc3QqPihzbG90QmFzZSk7CiAgICAg
SFRNTFN0eWxlRWxlbWVudCogZWxlbWVudCA9IHRoaXNPYmotPmltcGwoKS5nZXROYW1lZEl0ZW0o
cHJvcGVydHlOYW1lVG9TdHJpbmcocHJvcGVydHlOYW1lKSk7CiAgICAgQVNTRVJUKGVsZW1lbnQp
OwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxP
YmplY3QoKSwgZWxlbWVudC0+c2hlZXQoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA0OTcxMmJhNjdmMzZlYzFkZDg3
NGMzYzg4NTQ2OTE1YzQ5MTQxZTVhLi41Y2EwMjcyY2ZlYTA1ZTE4NTJmZDNmNTc5ZTYxMmVlMDU4
YjJlMDAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3JKUy5wbQpAQCAtOTgxLDcgKzk4MSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAg
ICAgICBpZiAoJGhhc051bWVyaWNJbmRleGVkR2V0dGVyKSB7CiAgICAgICAgICAgICBwdXNoKEBo
ZWFkZXJDb250ZW50LCAiICAgIEpTQzo6SlNWYWx1ZSBnZXRCeUluZGV4KEpTQzo6RXhlY1N0YXRl
KiwgdW5zaWduZWQgaW5kZXgpO1xuIik7CiAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBw
dXNoKEBoZWFkZXJDb250ZW50LCAiICAgIHN0YXRpYyBKU0M6OkVuY29kZWRKU1ZhbHVlIGluZGV4
R2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSwgdW5zaWduZWQpO1xuIik7CisgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50
LCAiICAgIHN0YXRpYyBKU0M6OkVuY29kZWRKU1ZhbHVlIGluZGV4R2V0dGVyKEpTQzo6RXhlY1N0
YXRlKiwgSlNDOjpKU09iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIHVuc2lnbmVkKTtcbiIp
OwogICAgICAgICB9CiAgICAgfQogCkBAIC05OTMsNyArOTkzLDcgQEAgc3ViIEdlbmVyYXRlSGVh
ZGVyCiAgICAgaWYgKCRuYW1lZEdldHRlckZ1bmN0aW9uIHx8ICRpbnRlcmZhY2UtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZEdldHRlciJ9KSB7CiAgICAgICAgIHB1c2goQGhlYWRl
ckNvbnRlbnQsICJwcml2YXRlOlxuIik7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIg
ICAgc3RhdGljIGJvb2wgY2FuR2V0SXRlbXNGb3JOYW1lKEpTQzo6RXhlY1N0YXRlKiwgJGludGVy
ZmFjZU5hbWUqLCBKU0M6OlByb3BlcnR5TmFtZSk7XG4iKTsKLSAgICAgICAgcHVzaChAaGVhZGVy
Q29udGVudCwgIiAgICBzdGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1ZSBuYW1lR2V0dGVyKEpTQzo6
RXhlY1N0YXRlKiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpO1xuIik7CisgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICIgICAg
c3RhdGljIEpTQzo6RW5jb2RlZEpTVmFsdWUgbmFtZUdldHRlcihKU0M6OkV4ZWNTdGF0ZSosIEpT
Qzo6SlNPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7XG4i
KTsKICAgICB9CiAKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAifTtcblxuIik7CkBAIC0xMTM0
LDcgKzExMzQsNyBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAgICAgICAgICAgIG15ICRjb25kaXRp
b25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZSk7CiAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAi
I2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWxTdHJpbmc7CiAgICAg
ICAgICAgICBteSAkZ2V0dGVyID0gR2V0QXR0cmlidXRlR2V0dGVyTmFtZSgkaW50ZXJmYWNlTmFt
ZSwgJGNsYXNzTmFtZSwgJGF0dHJpYnV0ZSk7Ci0gICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250
ZW50LCAiSlNDOjpFbmNvZGVkSlNWYWx1ZSAke2dldHRlcn0oSlNDOjpFeGVjU3RhdGUqLCBKU0M6
OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7
XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkVuY29kZWRKU1Zh
bHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7XG4iKTsKICAgICAgICAgICAgIGlmICghSXNS
ZWFkb25seSgkYXR0cmlidXRlKSkgewogICAgICAgICAgICAgICAgIG15ICRzZXR0ZXIgPSBHZXRB
dHRyaWJ1dGVTZXR0ZXJOYW1lKCRpbnRlcmZhY2VOYW1lLCAkY2xhc3NOYW1lLCAkYXR0cmlidXRl
KTsKICAgICAgICAgICAgICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAidm9pZCAke3NldHRlcn0o
SlNDOjpFeGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpFbmNvZGVkSlNWYWx1ZSk7XG4iKTsKQEAgLTExNDQsNyArMTE0NCw3IEBAIHN1YiBHZW5lcmF0
ZUhlYWRlcgogICAgICAgICAKICAgICAgICAgaWYgKCEkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJp
YnV0ZXMtPnsiTm9JbnRlcmZhY2VPYmplY3QifSkgewogICAgICAgICAgICAgbXkgJGdldHRlciA9
ICJqcyIgLiAkaW50ZXJmYWNlTmFtZSAuICJDb25zdHJ1Y3RvciI7Ci0gICAgICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiSlNDOjpFbmNvZGVkSlNWYWx1ZSAke2dldHRlcn0oSlNDOjpFeGVj
U3RhdGUqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlBy
b3BlcnR5TmFtZSk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6
OkVuY29kZWRKU1ZhbHVlICR7Z2V0dGVyfShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3Qq
LCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7XG4iKTsKICAgICAgICAg
fQogCiAgICAgICAgIGlmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiUmVwbGFj
ZWFibGVDb25zdHJ1Y3RvciJ9KSB7CkBAIC0xMTU5LDcgKzExNTksNyBAQCBzdWIgR2VuZXJhdGVI
ZWFkZXIKICAgICAgICAgICAgIG15ICRjb25kaXRpb25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9y
LT5HZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRjb25zdGFudCk7CiAgICAgICAgICAgICBwdXNo
KEBoZWFkZXJDb250ZW50LCAiI2lmICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0
aW9uYWxTdHJpbmc7CiAgICAgICAgICAgICBteSAkZ2V0dGVyID0gImpzIiAuICRpbnRlcmZhY2VO
YW1lIC4gJGNvZGVHZW5lcmF0b3ItPldLX3VjZmlyc3QoJGNvbnN0YW50LT5uYW1lKTsKLSAgICAg
ICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsICJKU0M6OkVuY29kZWRKU1ZhbHVlICR7Z2V0dGVy
fShKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFs
dWUsIEpTQzo6UHJvcGVydHlOYW1lKTtcbiIpOworICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29u
dGVudCwgIkpTQzo6RW5jb2RlZEpTVmFsdWUgJHtnZXR0ZXJ9KEpTQzo6RXhlY1N0YXRlKiwgSlND
OjpKU09iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTtcbiIp
OwogICAgICAgICAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIiNlbmRpZlxuIikgaWYgJGNvbmRp
dGlvbmFsU3RyaW5nOwogICAgICAgICB9CiAgICAgfQpAQCAtMTk2NCw3ICsxOTY0LDcgQEAgc3Vi
IEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIG15ICRhdHRyaWJ1dGVDb25kaXRp
b25hbFN0cmluZyA9ICRjb2RlR2VuZXJhdG9yLT5HZW5lcmF0ZUNvbmRpdGlvbmFsU3RyaW5nKCRh
dHRyaWJ1dGUtPnNpZ25hdHVyZSk7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiNp
ZiAke2F0dHJpYnV0ZUNvbmRpdGlvbmFsU3RyaW5nfVxuIikgaWYgJGF0dHJpYnV0ZUNvbmRpdGlv
bmFsU3RyaW5nOwogCi0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkVuY29kZWRKU1Zh
bHVlICR7Z2V0RnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNs
b3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSlcbiIpOworICAg
ICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJFbmNvZGVkSlNWYWx1ZSAke2dldEZ1bmN0aW9u
TmFtZX0oRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVl
IHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIntcbiIpOwogCiAgICAgICAgICAgICBpZiAoISRhdHRyaWJ1dGUtPmlzU3RhdGljIHx8
ICRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+dHlwZSA9fiAvQ29uc3RydWN0b3IkLykgewpAQCAtMjE0
Nyw3ICsyMTQ3LDcgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgaWYgKCEk
aW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTm9JbnRlcmZhY2VPYmplY3QifSkgewog
ICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yRnVuY3Rpb25OYW1lID0gImpzIiAuICRpbnRlcmZh
Y2VOYW1lIC4gIkNvbnN0cnVjdG9yIjsKIAotICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQs
ICJFbmNvZGVkSlNWYWx1ZSAke2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4
ZWMsIEVuY29kZWRKU1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFt
ZSlcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJFbmNvZGVkSlNWYWx1ZSAk
e2NvbnN0cnVjdG9yRnVuY3Rpb25OYW1lfShFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiwgRW5j
b2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpXG4iKTsKICAgICAgICAgICAgIHB1
c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBpZiAoJGludGVyZmFjZU5hbWUg
ZXEgIkRPTVdpbmRvdyIpIHsKICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAke2NsYXNzTmFtZX0qIGRvbU9iamVjdCA9IGpzRHluYW1pY0Nhc3Q8JGNsYXNzTmFtZSo+KEpT
VmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTtcbiIpOwpAQCAtMjYyOCw3ICsyNjI4LDcgQEAgc3Vi
IEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgIyBG
SVhNRTogdGhpcyBjYXN0cyBpbnRvIGludCB0byBtYXRjaCBvdXIgcHJldmlvdXMgYmVoYXZpb3Ig
d2hpY2ggdHVybmVkIDB4RkZGRkZGRkYgaW4gLTEgZm9yIE5vZGVGaWx0ZXIuU0hPV19BTEwKLSAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiRW5jb2RlZEpTVmFsdWUgJHtnZXR0ZXJ9KEV4
ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5h
bWUpXG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiRW5jb2RlZEpTVmFsdWUg
JHtnZXR0ZXJ9KEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSwgUHJv
cGVydHlOYW1lKVxuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwog
ICAgICAgICAgICAgaWYgKCRjb25zdGFudC0+dHlwZSBlcSAiRE9NU3RyaW5nIikgewogICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUo
anNTdHJpbmdPck51bGwoZXhlYywgU3RyaW5nKCIgLiAkY29uc3RhbnQtPnZhbHVlIC4gIikpKTtc
biIpOwpAQCAtMjY0Miw5ICsyNjQyLDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAg
ICB9CiAKICAgICBpZiAoJGluZGV4ZWRHZXR0ZXJGdW5jdGlvbiAmJiAhJGhhc051bWVyaWNJbmRl
eGVkR2V0dGVyKSB7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiXG5FbmNvZGVkSlNWYWx1
ZSAke2NsYXNzTmFtZX06OmluZGV4R2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFs
dWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCB1bnNpZ25lZCBpbmRleClcbiIpOworICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIlxuRW5jb2RlZEpTVmFsdWUgJHtjbGFzc05hbWV9OjppbmRl
eEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFs
dWUsIHVuc2lnbmVkIGluZGV4KVxuIik7CiAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xu
Iik7Ci0gICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgICR7Y2xhc3NOYW1lfSogdGhpc09i
aiA9IGpzQ2FzdDwkY2xhc3NOYW1lKj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RCYXNlKSk7XG4iKTsK
KyAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqID0g
anNDYXN0PCRjbGFzc05hbWUqPihzbG90QmFzZSk7XG4iKTsKICAgICAgICAgcHVzaChAaW1wbENv
bnRlbnQsICIgICAgQVNTRVJUX0dDX09CSkVDVF9JTkhFUklUUyh0aGlzT2JqLCBpbmZvKCkpO1xu
Iik7CiAgICAgICAgIGlmICgkaW5kZXhlZEdldHRlckZ1bmN0aW9uLT5zaWduYXR1cmUtPnR5cGUg
ZXEgIkRPTVN0cmluZyIpIHsKICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7IlVSTC5oIn0gPSAx
OwpAQCAtMjY4MSw5ICsyNjgxLDkgQEAgc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KICAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICByZXR1cm4gY29sbGVjdGlvbi0+aGFzTmFtZWRJdGVtKHByb3BlcnR5TmFt
ZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIn1cblxuIik7Ci0gICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIkVu
Y29kZWRKU1ZhbHVlICR7Y2xhc3NOYW1lfTo6bmFtZUdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEVu
Y29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZSlcbiIpOworICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJFbmNvZGVkSlNW
YWx1ZSAke2NsYXNzTmFtZX06Om5hbWVHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCog
c2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKVxuIik7
CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIntcbiIpOwotICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqID0ganNDYXN0PCRjbGFz
c05hbWUqPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2UpKTtcbiIpOworICAgICAgICAgICAgcHVz
aChAaW1wbENvbnRlbnQsICIgICAgJHtjbGFzc05hbWV9KiB0aGlzT2JqID0ganNDYXN0PCRjbGFz
c05hbWUqPihzbG90QmFzZSk7XG4iKTsKICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAi
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodG9KUyhleGVjLCB0aGlzT2JqLT5nbG9iYWxPYmpl
Y3QoKSwgdGhpc09iai0+aW1wbCgpLm5hbWVkSXRlbShwcm9wZXJ0eU5hbWVUb0F0b21pY1N0cmlu
Zyhwcm9wZXJ0eU5hbWUpKSkpO1xuIik7CiAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwg
In1cblxuIik7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9y
dW50aW1lX2FycmF5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmNw
cAppbmRleCAxMWNhMDQxNDUwNTI0NzQxZjY2MzNlOWE2YTYxODYyNTBiYWQ1M2ZhLi4zOGNlNmJj
NDNlNzg0OTI0ZDM1YzE1Njg2ZjM3MGM5YzQ3ZTVlZDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9icmlkZ2UvcnVudGltZV9hcnJheS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfYXJyYXkuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgUnVudGltZUFycmF5Ojpk
ZXN0cm95KEpTQ2VsbCogY2VsbCkKICAgICBzdGF0aWNfY2FzdDxSdW50aW1lQXJyYXkqPihjZWxs
KS0+UnVudGltZUFycmF5Ojp+UnVudGltZUFycmF5KCk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIFJ1
bnRpbWVBcnJheTo6bGVuZ3RoR2V0dGVyKEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUs
IEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUg
UnVudGltZUFycmF5OjpsZW5ndGhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCosIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQogewogICAgIFJ1bnRpbWVBcnJh
eSogdGhpc09iamVjdCA9IGpzRHluYW1pY0Nhc3Q8UnVudGltZUFycmF5Kj4oSlNWYWx1ZTo6ZGVj
b2RlKHRoaXNWYWx1ZSkpOwogICAgIGlmICghdGhpc09iamVjdCkKQEAgLTY4LDkgKzY4LDkgQEAg
RW5jb2RlZEpTVmFsdWUgUnVudGltZUFycmF5OjpsZW5ndGhHZXR0ZXIoRXhlY1N0YXRlKiBleGVj
LCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2QKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVt
YmVyKHRoaXNPYmplY3QtPmdldExlbmd0aCgpKSk7CiB9CiAKLUVuY29kZWRKU1ZhbHVlIFJ1bnRp
bWVBcnJheTo6aW5kZXhHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90
QmFzZSwgRW5jb2RlZEpTVmFsdWUsIHVuc2lnbmVkIGluZGV4KQorRW5jb2RlZEpTVmFsdWUgUnVu
dGltZUFycmF5OjppbmRleEdldHRlcihFeGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFz
ZSwgRW5jb2RlZEpTVmFsdWUsIHVuc2lnbmVkIGluZGV4KQogewotICAgIFJ1bnRpbWVBcnJheSog
dGhpc09iaiA9IGpzQ2FzdDxSdW50aW1lQXJyYXkqPihKU1ZhbHVlOjpkZWNvZGUoc2xvdEJhc2Up
KTsKKyAgICBSdW50aW1lQXJyYXkqIHRoaXNPYmogPSBqc0Nhc3Q8UnVudGltZUFycmF5Kj4oc2xv
dEJhc2UpOwogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUodGhpc09iai0+Z2V0Q29uY3JldGVB
cnJheSgpLT52YWx1ZUF0KGV4ZWMsIGluZGV4KSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVu
dGltZV9hcnJheS5oCmluZGV4IDVlMDFmNzNhZTA0ZTgwZThmNzk0NzY2OThhZTE2MWEzMzMwM2Rk
OTQuLjU5ODU4NDU5YjFjNDZkZmQ1MDUyOTFiNmMxZWY2NjlmNTgyZmNiMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX2FycmF5LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfYXJyYXkuaApAQCAtODQsOCArODQsOCBAQCBwcm90ZWN0ZWQ6CiAK
IHByaXZhdGU6CiAgICAgUnVudGltZUFycmF5KEV4ZWNTdGF0ZSosIFN0cnVjdHVyZSopOwotICAg
IHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBsZW5ndGhHZXR0ZXIoRXhlY1N0YXRlKiwgRW5jb2RlZEpT
VmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwotICAgIHN0YXRpYyBFbmNvZGVk
SlNWYWx1ZSBpbmRleEdldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUsIHVuc2lnbmVkKTsKKyAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgbGVuZ3RoR2V0dGVy
KEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Cisg
ICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGluZGV4R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0
KiwgRW5jb2RlZEpTVmFsdWUsIHVuc2lnbmVkKTsKIAogICAgIEJpbmRpbmdzQXJyYXkqIG1fYXJy
YXk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50aW1lX21ldGhvZC5jcHAKaW5kZXggZWI0
ZWU5YWExZTUxZTBmYTRlOWZmNmI3OWJjYzE5YWI1NDUzMzM5MC4uYjkxMmFjZjM4ZjVjMDQ1YTlj
ZjZiMzJlMTFmMDIyYzI2NTk3MGIyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdl
L3J1bnRpbWVfbWV0aG9kLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2UvcnVudGltZV9t
ZXRob2QuY3BwCkBAIC01NCw3ICs1NCw3IEBAIHZvaWQgUnVudGltZU1ldGhvZDo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBjb25zdCBTdHJpbmcmIGlkZW50KQogICAgIEFTU0VSVChpbmhlcml0cyhp
bmZvKCkpKTsKIH0KIAotRW5jb2RlZEpTVmFsdWUgUnVudGltZU1ldGhvZDo6bGVuZ3RoR2V0dGVy
KEV4ZWNTdGF0ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgUHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgUnVudGltZU1ldGhvZDo6bGVuZ3RoR2V0
dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqLCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkKIHsKICAgICBSdW50aW1lTWV0aG9kKiB0aGlzT2JqZWN0ID0ganNEeW5h
bWljQ2FzdDxSdW50aW1lTWV0aG9kKj4oSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwogICAg
IGlmICghdGhpc09iamVjdCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX21ldGhvZC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfbWV0aG9kLmgKaW5k
ZXggZTE0MTk2OGFlZTM1MjVlNDk3NjAzZThlOGEyZWFjNmM5YzEwNjdmZi4uOTUxN2ZiMjcwNDEw
OTcxNTQxZWM4MGQ2YzAwODc5YmEwYmM5MTI0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfbWV0aG9kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfbWV0aG9kLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBib29s
IGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEV4ZWNTdGF0ZSosIFByb3BlcnR5TmFtZSwg
UHJvcGVydHlTbG90Jik7CiAKIHByaXZhdGU6Ci0gICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGxl
bmd0aEdldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFBy
b3BlcnR5TmFtZSk7CisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGxlbmd0aEdldHRlcihFeGVj
U3RhdGUqLCBKU09iamVjdCosIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogCiAgICAg
QmluZGluZ3M6Ok1ldGhvZCogbV9tZXRob2Q7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5jcHAKaW5kZXggMzI1MjRmNDlhN2NmYTZlZWZlYTEwZTFmOTM5YTAwMDM2OWY2
Y2Q3ZS4uYjYyODkxYzBkYjE5NzRkODU1NjUyYmI4YzZhMGVmMDQwMDc1ODRhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2UvcnVudGltZV9vYmplY3QuY3BwCkBAIC02Miw5ICs2Miw5IEBAIHZvaWQg
UnVudGltZU9iamVjdDo6aW52YWxpZGF0ZSgpCiAgICAgbV9pbnN0YW5jZSA9IDA7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIFJ1bnRpbWVPYmplY3Q6OmZhbGxiYWNrT2JqZWN0R2V0dGVyKEV4ZWNTdGF0
ZSogZXhlYywgRW5jb2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0
eU5hbWUgcHJvcGVydHlOYW1lKQorRW5jb2RlZEpTVmFsdWUgUnVudGltZU9iamVjdDo6ZmFsbGJh
Y2tPYmplY3RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBKU09iamVjdCogc2xvdEJhc2UsIEVuY29k
ZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlOYW1lKQogewotICAgIFJ1bnRpbWVPYmpl
Y3QqIHRoaXNPYmogPSBqc0Nhc3Q8UnVudGltZU9iamVjdCo+KEpTVmFsdWU6OmRlY29kZShzbG90
QmFzZSkpOworICAgIFJ1bnRpbWVPYmplY3QqIHRoaXNPYmogPSBqc0Nhc3Q8UnVudGltZU9iamVj
dCo+KHNsb3RCYXNlKTsKICAgICBSZWZQdHI8SW5zdGFuY2U+IGluc3RhbmNlID0gdGhpc09iai0+
bV9pbnN0YW5jZTsKIAogICAgIGlmICghaW5zdGFuY2UpCkBAIC04MCw5ICs4MCw5IEBAIEVuY29k
ZWRKU1ZhbHVlIFJ1bnRpbWVPYmplY3Q6OmZhbGxiYWNrT2JqZWN0R2V0dGVyKEV4ZWNTdGF0ZSog
ZXhlYywgRW5jb2RlZEpTVmFsCiAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwog
fQogCi1FbmNvZGVkSlNWYWx1ZSBSdW50aW1lT2JqZWN0OjpmaWVsZEdldHRlcihFeGVjU3RhdGUq
IGV4ZWMsIEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlO
YW1lIHByb3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIFJ1bnRpbWVPYmplY3Q6OmZpZWxkR2V0
dGVyKEV4ZWNTdGF0ZSogZXhlYywgSlNPYmplY3QqIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwg
UHJvcGVydHlOYW1lIHByb3BlcnR5TmFtZSkKIHsgICAgCi0gICAgUnVudGltZU9iamVjdCogdGhp
c09iaiA9IGpzQ2FzdDxSdW50aW1lT2JqZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RCYXNlKSk7
CisgICAgUnVudGltZU9iamVjdCogdGhpc09iaiA9IGpzQ2FzdDxSdW50aW1lT2JqZWN0Kj4oc2xv
dEJhc2UpOwogICAgIFJlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UgPSB0aGlzT2JqLT5tX2luc3Rh
bmNlOwogCiAgICAgaWYgKCFpbnN0YW5jZSkKQEAgLTk5LDkgKzk5LDkgQEAgRW5jb2RlZEpTVmFs
dWUgUnVudGltZU9iamVjdDo6ZmllbGRHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNW
YWx1ZSBzbG90QmEKICAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHJlc3VsdCk7CiB9CiAKLUVu
Y29kZWRKU1ZhbHVlIFJ1bnRpbWVPYmplY3Q6Om1ldGhvZEdldHRlcihFeGVjU3RhdGUqIGV4ZWMs
IEVuY29kZWRKU1ZhbHVlIHNsb3RCYXNlLCBFbmNvZGVkSlNWYWx1ZSwgUHJvcGVydHlOYW1lIHBy
b3BlcnR5TmFtZSkKK0VuY29kZWRKU1ZhbHVlIFJ1bnRpbWVPYmplY3Q6Om1ldGhvZEdldHRlcihF
eGVjU3RhdGUqIGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3Bl
cnR5TmFtZSBwcm9wZXJ0eU5hbWUpCiB7Ci0gICAgUnVudGltZU9iamVjdCogdGhpc09iaiA9IGpz
Q2FzdDxSdW50aW1lT2JqZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RCYXNlKSk7CisgICAgUnVu
dGltZU9iamVjdCogdGhpc09iaiA9IGpzQ2FzdDxSdW50aW1lT2JqZWN0Kj4oc2xvdEJhc2UpOwog
ICAgIFJlZlB0cjxJbnN0YW5jZT4gaW5zdGFuY2UgPSB0aGlzT2JqLT5tX2luc3RhbmNlOwogCiAg
ICAgaWYgKCFpbnN0YW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9ydW50
aW1lX29iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKaW5k
ZXggOTdiNTU1MDZmNzk4ZWMwMjBkZWRiNDZhYmFhYTZmYjViZGM3N2VhMi4uYTU0N2IyNDViNGQy
NTBlYWFlNWM5NGFjYjZlYmJmNjU2NmMzMTU4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL3J1bnRpbWVfb2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL3J1bnRp
bWVfb2JqZWN0LmgKQEAgLTc4LDkgKzc4LDkgQEAgcHJvdGVjdGVkOgogICAgIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IE92ZXJyaWRlc0dldE93blByb3BlcnR5U2xvdCB8
IE92ZXJyaWRlc0dldFByb3BlcnR5TmFtZXMgfCBCYXNlOjpTdHJ1Y3R1cmVGbGFnczsKIAogcHJp
dmF0ZToKLSAgICBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgZmFsbGJhY2tPYmplY3RHZXR0ZXIoRXhl
Y1N0YXRlKiwgRW5jb2RlZEpTVmFsdWUsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwot
ICAgIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBmaWVsZEdldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVk
SlNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7Ci0gICAgc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIG1ldGhvZEdldHRlcihFeGVjU3RhdGUqLCBFbmNvZGVkSlNWYWx1ZSwgRW5jb2Rl
ZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGZhbGxi
YWNrT2JqZWN0R2V0dGVyKEV4ZWNTdGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFBy
b3BlcnR5TmFtZSk7CisgICAgc3RhdGljIEVuY29kZWRKU1ZhbHVlIGZpZWxkR2V0dGVyKEV4ZWNT
dGF0ZSosIEpTT2JqZWN0KiwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSk7CisgICAgc3Rh
dGljIEVuY29kZWRKU1ZhbHVlIG1ldGhvZEdldHRlcihFeGVjU3RhdGUqLCBKU09iamVjdCosIEVu
Y29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwogCiAgICAgUmVmUHRyPEluc3RhbmNlPiBtX2lu
c3RhbmNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9KU05QT2JqZWN0LmNwcAppbmRleCA5Njc0Y2EzZTkwZjBhN2Y2YmYxYzhh
MmNjZjkyN2JjN2M1NDJhMzFhLi5mZmMzNjhiNmQ1YTI4ZjUxNDBjYmVjNWMwYzRmZmViYzNmMGJj
YThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvSlNOUE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL0pTTlBPYmplY3QuY3BwCkBAIC00MTcsOSArNDE3LDkgQEAgdm9pZCBKU05QT2Jq
ZWN0OjpnZXRPd25Qcm9wZXJ0eU5hbWVzKEpTT2JqZWN0KiBvYmplY3QsIEV4ZWNTdGF0ZSogZXhl
YywgUHJvcGVydHkKICAgICBucG5NZW1GcmVlKGlkZW50aWZpZXJzKTsKIH0KIAotRW5jb2RlZEpT
VmFsdWUgSlNOUE9iamVjdDo6cHJvcGVydHlHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVk
SlNWYWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5h
bWUpCitFbmNvZGVkSlNWYWx1ZSBKU05QT2JqZWN0Ojpwcm9wZXJ0eUdldHRlcihFeGVjU3RhdGUq
IGV4ZWMsIEpTT2JqZWN0KiBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBw
cm9wZXJ0eU5hbWUpCiB7Ci0gICAgSlNOUE9iamVjdCogdGhpc09iaiA9IGpzQ2FzdDxKU05QT2Jq
ZWN0Kj4oSlNWYWx1ZTo6ZGVjb2RlKHNsb3RCYXNlKSk7CisgICAgSlNOUE9iamVjdCogdGhpc09i
aiA9IGpzQ2FzdDxKU05QT2JqZWN0Kj4oc2xvdEJhc2UpOwogICAgIEFTU0VSVF9HQ19PQkpFQ1Rf
SU5IRVJJVFModGhpc09iaiwgaW5mbygpKTsKICAgICAKICAgICBpZiAoIXRoaXNPYmotPm1fbnBP
YmplY3QpCkBAIC00NTMsOSArNDUzLDkgQEAgRW5jb2RlZEpTVmFsdWUgSlNOUE9iamVjdDo6cHJv
cGVydHlHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1ZSBzbG90QmEKICAgICBy
ZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKHByb3BlcnR5VmFsdWUpOwogfQogCi1FbmNvZGVkSlNWYWx1
ZSBKU05QT2JqZWN0OjptZXRob2RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBFbmNvZGVkSlNWYWx1
ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUsIFByb3BlcnR5TmFtZSBwcm9wZXJ0eU5hbWUpCitF
bmNvZGVkSlNWYWx1ZSBKU05QT2JqZWN0OjptZXRob2RHZXR0ZXIoRXhlY1N0YXRlKiBleGVjLCBK
U09iamVjdCogc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlLCBQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKQogewotICAgIEpTTlBPYmplY3QqIHRoaXNPYmogPSBqc0Nhc3Q8SlNOUE9iamVjdCo+KEpT
VmFsdWU6OmRlY29kZShzbG90QmFzZSkpOworICAgIEpTTlBPYmplY3QqIHRoaXNPYmogPSBqc0Nh
c3Q8SlNOUE9iamVjdCo+KHNsb3RCYXNlKTsKICAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRT
KHRoaXNPYmosIGluZm8oKSk7CiAgICAgCiAgICAgaWYgKCF0aGlzT2JqLT5tX25wT2JqZWN0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pT
TlBPYmplY3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9K
U05QT2JqZWN0LmgKaW5kZXggMjUwZDI2YjBmMGNkM2ZlODk0MmIwOGM3NjFkMTg0ZGY2NWQyYzRj
My4uNzlkYWY1YjkwZjcwNWNlMzBhNmZjOTVmOTRlYjI4MGYwZGZiYmRmYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL0pTTlBPYmplY3QuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvSlNOUE9iamVj
dC5oCkBAIC05NSw4ICs5NSw4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgdm9pZCBnZXRPd25Q
cm9wZXJ0eU5hbWVzKEpTQzo6SlNPYmplY3QqLCBKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6UHJvcGVy
dHlOYW1lQXJyYXkmLCBKU0M6OkVudW1lcmF0aW9uTW9kZSk7CiAKLSAgICBzdGF0aWMgSlNDOjpF
bmNvZGVkSlNWYWx1ZSBwcm9wZXJ0eUdldHRlcihKU0M6OkV4ZWNTdGF0ZSosIEpTQzo6RW5jb2Rl
ZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLSAgICBz
dGF0aWMgSlNDOjpFbmNvZGVkSlNWYWx1ZSBtZXRob2RHZXR0ZXIoSlNDOjpFeGVjU3RhdGUqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFt
ZSk7CisgICAgc3RhdGljIEpTQzo6RW5jb2RlZEpTVmFsdWUgcHJvcGVydHlHZXR0ZXIoSlNDOjpF
eGVjU3RhdGUqLCBKU0M6OkpTT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9w
ZXJ0eU5hbWUpOworICAgIHN0YXRpYyBKU0M6OkVuY29kZWRKU1ZhbHVlIG1ldGhvZEdldHRlcihK
U0M6OkV4ZWNTdGF0ZSosIEpTQzo6SlNPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OlByb3BlcnR5TmFtZSk7CiAgICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIHRocm93SW52YWxpZEFj
Y2Vzc0Vycm9yKEpTQzo6RXhlY1N0YXRlKik7CiAKICAgICBOUFJ1bnRpbWVPYmplY3RNYXAqIG1f
b2JqZWN0TWFwOwo=
</data>
<flag name="review"
          id="247289"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>