<?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>151586</bug_id>
          
          <creation_ts>2015-11-24 02:00:45 -0800</creation_ts>
          <short_desc>[ES6] Propagate `this` usage from Generator&apos;s scope to GeneratorFunction&apos;s scope to avoid unnecessary `to_this` call.</short_desc>
          <delta_ts>2023-08-14 18:40:46 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>caitp</cc>
    
    <cc>mark.lam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1144317</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2015-11-24 02:00:45 -0800</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245628</commentid>
    <comment_count>1</comment_count>
    <who name="Caitlin Potter (:caitp)">caitp</who>
    <bug_when>2016-10-28 09:37:05 -0700</bug_when>
    <thetext>This issue also applies to async functions (https://bugs.webkit.org/show_bug.cgi?id=163760), which are implemented using the same &quot;body as a separate function&quot; approach.

This is also really the same issue which affects always storing the home object on async arrow function bodies, fixing this bug should solve both problems. I&apos;ll point those issues to this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1321927</commentid>
    <comment_count>2</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-06-22 09:38:31 -0700</bug_when>
    <thetext>We should follow arrow function design... Set |this| in generator function&apos;s environment and load it from the environment.
Basically, using |this| inside the generator is very rare... We can avoid loading/storing it in most cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322693</commentid>
    <comment_count>3</comment_count>
      <attachid>313804</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-06-25 08:36:46 -0700</bug_when>
    <thetext>Created attachment 313804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1322694</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-06-25 08:40:09 -0700</bug_when>
    <thetext>This is WIP patch. We still need to change async functions part.
While it improves generator performance in SixSpeed, it a bit causes regression in ARES-6 Basic.
This is because ARES-6 Basic&apos;s generator touches |this|. And in this case, it allocates one more JS heap environment.

So, to adopt this change, we should change the current generator implementation to the more efficient one.
My idea is allocating one JS environment for storing |this|, arguments and yield storing values. This fixes above regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1971198</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2023-08-14 18:40:46 -0700</bug_when>
    <thetext>&lt;rdar://problem/113883697&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>313804</attachid>
            <date>2017-06-25 08:36:46 -0700</date>
            <delta_ts>2017-06-25 08:36:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151586-20170626003645.patch</filename>
            <type>text/plain</type>
            <size>23024</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE4NzkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
YmUzMGJlYWQwZGQ2ZTliYTIwYmJiOWUxODExNzNmYzk5ZTRjOGVmLi4zNmNiODVmZTI4OWJlODgy
YWQ2ZjQ2ZDYyMTI1YzQwZGVkOWNhNjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMSBAQAorMjAxNy0wNi0yNSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbRVM2XSBQcm9wYWdhdGUgYHRoaXNgIHVzYWdlIGZyb20gR2VuZXJh
dG9yJ3Mgc2NvcGUgdG8gR2VuZXJhdG9yRnVuY3Rpb24ncyBzY29wZSB0byBhdm9pZCB1bm5lY2Vz
c2FyeSBgdG9fdGhpc2AgY2FsbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1MTU4NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogYnVpbHRpbnMvQXN5bmNGdW5jdGlvblByb3RvdHlwZS5qczoKKyAgICAg
ICAgKGdsb2JhbFByaXZhdGUuYXN5bmNGdW5jdGlvblJlc3VtZSk6CisgICAgICAgICogYnVpbHRp
bnMvR2VuZXJhdG9yUHJvdG90eXBlLmpzOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5nZW5lcmF0
b3JSZXN1bWUpOgorICAgICAgICAqIGJ5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHA6
CisgICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdlbmVyYXRvcik6Cisg
ICAgICAgIChKU0M6OkJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0UHV0R2VuZXJhdG9yRmllbGRzKToK
KyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXROZXdBcnJvd0Z1bmN0aW9uRXhw
cmVzc2lvbik6CisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6Cisg
ICAgICAgICogcGFyc2VyL0FTVEJ1aWxkZXIuaDoKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlR2VuZXJhdG9yRnVuY3Rpb25Cb2R5KToKKyAgICAgICAgKEpTQzo6QVNUQnVpbGRlcjo6
Y3JlYXRlQXN5bmNGdW5jdGlvbkJvZHkpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuY3BwOgor
ICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6Y3JlYXRlR2VuZXJhdG9yUGFyYW1ldGVy
cyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVlpZWxkRXhwcmVzc2lv
bik6CisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjpTY29wZTo6c2V0
SXNHZW5lcmF0b3IpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXJNb2Rlcy5oOgorICAgICAgICAo
SlNDOjppc0Fycm93RnVuY3Rpb25QYXJzZU1vZGUpOgorICAgICAgICAqIHJ1bnRpbWUvSlNHZW5l
cmF0b3JGdW5jdGlvbi5oOgorCiAyMDE3LTA2LTI0ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50
ZWFAZ21haWwuY29tPgogCiAgICAgICAgIFtKU0NdIENsZWFuIHVwIE9iamVjdC5lbnRyaWVzIGlt
cGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMv
QXN5bmNGdW5jdGlvblByb3RvdHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlu
cy9Bc3luY0Z1bmN0aW9uUHJvdG90eXBlLmpzCmluZGV4IDg4Y2ZiMDFkMTQ5MDUwOGY4YzJkZWYy
YzVmMjgxYzhiY2EyYjEzNmYuLmEyMGM4OWNhODc5YWQyMGU0ZmMzZmUxZmFkNjY0OGVhYzRmZjVm
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Bc3luY0Z1bmN0
aW9uUHJvdG90eXBlLmpzCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Bc3lu
Y0Z1bmN0aW9uUHJvdG90eXBlLmpzCkBAIC0zNSw3ICszNSw3IEBAIGZ1bmN0aW9uIGFzeW5jRnVu
Y3Rpb25SZXN1bWUoZ2VuZXJhdG9yLCBwcm9taXNlQ2FwYWJpbGl0eSwgc2VudFZhbHVlLCByZXN1
bWVNb2RlCiAKICAgICB0cnkgewogICAgICAgICBnZW5lcmF0b3IuQGdlbmVyYXRvclN0YXRlID0g
QEdlbmVyYXRvclN0YXRlRXhlY3V0aW5nOwotICAgICAgICB2YWx1ZSA9IGdlbmVyYXRvci5AZ2Vu
ZXJhdG9yTmV4dC5AY2FsbChnZW5lcmF0b3IuQGdlbmVyYXRvclRoaXMsIGdlbmVyYXRvciwgc3Rh
dGUsIHNlbnRWYWx1ZSwgcmVzdW1lTW9kZSwgZ2VuZXJhdG9yLkBnZW5lcmF0b3JGcmFtZSk7Cisg
ICAgICAgIHZhbHVlID0gZ2VuZXJhdG9yLkBnZW5lcmF0b3JOZXh0KHN0YXRlLCBzZW50VmFsdWUs
IHJlc3VtZU1vZGUsIGdlbmVyYXRvci5AZ2VuZXJhdG9yRnJhbWUpOwogICAgICAgICBpZiAoZ2Vu
ZXJhdG9yLkBnZW5lcmF0b3JTdGF0ZSA9PT0gQEdlbmVyYXRvclN0YXRlRXhlY3V0aW5nKSB7CiAg
ICAgICAgICAgICBnZW5lcmF0b3IuQGdlbmVyYXRvclN0YXRlID0gQEdlbmVyYXRvclN0YXRlQ29t
cGxldGVkOwogICAgICAgICAgICAgcHJvbWlzZUNhcGFiaWxpdHkuQHJlc29sdmUodmFsdWUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dlbmVyYXRvclByb3Rv
dHlwZS5qcyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9HZW5lcmF0b3JQcm90b3R5
cGUuanMKaW5kZXggNDEyOGEzNTMyZjUwN2E2M2ZmZTMxN2M0OWI3Y2E4NTQ3MzMzYWEyNS4uOGIw
N2RhYTFiOGNjOTNmYWVjM2NhNTA2ZjNiMDA4N2ZlNWRmNmI2MyAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2J1aWx0aW5zL0dlbmVyYXRvclByb3RvdHlwZS5qcworKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvR2VuZXJhdG9yUHJvdG90eXBlLmpzCkBAIC01MSw3
ICs1MSw3IEBAIGZ1bmN0aW9uIGdlbmVyYXRvclJlc3VtZShnZW5lcmF0b3IsIHNlbnRWYWx1ZSwg
cmVzdW1lTW9kZSkKICAgICB9IGVsc2UgewogICAgICAgICB0cnkgewogICAgICAgICAgICAgZ2Vu
ZXJhdG9yLkBnZW5lcmF0b3JTdGF0ZSA9IEBHZW5lcmF0b3JTdGF0ZUV4ZWN1dGluZzsKLSAgICAg
ICAgICAgIHZhbHVlID0gZ2VuZXJhdG9yLkBnZW5lcmF0b3JOZXh0LkBjYWxsKGdlbmVyYXRvci5A
Z2VuZXJhdG9yVGhpcywgZ2VuZXJhdG9yLCBzdGF0ZSwgc2VudFZhbHVlLCByZXN1bWVNb2RlLCBn
ZW5lcmF0b3IuQGdlbmVyYXRvckZyYW1lKTsKKyAgICAgICAgICAgIHZhbHVlID0gZ2VuZXJhdG9y
LkBnZW5lcmF0b3JOZXh0KHN0YXRlLCBzZW50VmFsdWUsIHJlc3VtZU1vZGUsIGdlbmVyYXRvci5A
Z2VuZXJhdG9yRnJhbWUpOwogICAgICAgICAgICAgaWYgKGdlbmVyYXRvci5AZ2VuZXJhdG9yU3Rh
dGUgPT09IEBHZW5lcmF0b3JTdGF0ZUV4ZWN1dGluZykgewogICAgICAgICAgICAgICAgIGdlbmVy
YXRvci5AZ2VuZXJhdG9yU3RhdGUgPSBAR2VuZXJhdG9yU3RhdGVDb21wbGV0ZWQ7CiAgICAgICAg
ICAgICAgICAgZG9uZSA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCmluZGV4IDllOTc3ZGU0MmZiODUy
NDk4NTg0ZTE3MDJiNWY5NzdkYTFkMzc3YTAuLjNlZDRhYTFlZDc1YjgzMTgxOWI3MWZhYmNjNGI1
OTZjZjI2NGNlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGls
ZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0zMDksNyArMzA5LDcgQEAgQnl0ZWNv
ZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25Ob2RlKiBmdW5j
dGlvbk5vZGUsIFVubGlua2UKICAgICAgICAgLy8gICAgZnVuY3Rpb24gKmdlbihhLCBiID0gaGVs
bG8oKSkKICAgICAgICAgLy8gICAgewogICAgICAgICAvLyAgICAgICAgcmV0dXJuIHsKLSAgICAg
ICAgLy8gICAgICAgICAgICBAZ2VuZXJhdG9yTmV4dDogZnVuY3Rpb24gKEBnZW5lcmF0b3IsIEBn
ZW5lcmF0b3JTdGF0ZSwgQGdlbmVyYXRvclZhbHVlLCBAZ2VuZXJhdG9yUmVzdW1lTW9kZSwgQGdl
bmVyYXRvckZyYW1lKQorICAgICAgICAvLyAgICAgICAgICAgIEBnZW5lcmF0b3JOZXh0OiBmdW5j
dGlvbiAoQGdlbmVyYXRvclN0YXRlLCBAZ2VuZXJhdG9yVmFsdWUsIEBnZW5lcmF0b3JSZXN1bWVN
b2RlLCBAZ2VuZXJhdG9yRnJhbWUpCiAgICAgICAgIC8vICAgICAgICAgICAgewogICAgICAgICAv
LyAgICAgICAgICAgICAgICBhcmd1bWVudHM7ICAvLyBUaGlzIGBhcmd1bWVudHNgIHNob3VsZCBy
ZWZlcmVuY2UgdG8gdGhlIGdlbidzIGFyZ3VtZW50cy4KICAgICAgICAgLy8gICAgICAgICAgICAg
ICAgLi4uCkBAIC0zNDUsOCArMzQ1LDEzIEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRlY29kZUdl
bmVyYXRvcihWTSYgdm0sIEZ1bmN0aW9uTm9kZSogZnVuY3Rpb25Ob2RlLCBVbmxpbmtlCiAKICAg
ICBlbWl0RW50ZXIoKTsKIAotICAgIGlmIChpc0dlbmVyYXRvck9yQXN5bmNGdW5jdGlvbkJvZHlQ
YXJzZU1vZGUocGFyc2VNb2RlKSkKLSAgICAgICAgbV9nZW5lcmF0b3JSZWdpc3RlciA9ICZtX3Bh
cmFtZXRlcnNbMV07CisgICAgaWYgKGlzR2VuZXJhdG9yT3JBc3luY0Z1bmN0aW9uQm9keVBhcnNl
TW9kZShwYXJzZU1vZGUpKSB7CisgICAgICAgIC8vIHx0aGlzfCBpcyBnZW5lcmF0b3IuIFdlIHdv
dWxkIGxpa2UgdG8gcmVwbGFjZSBtX3RoaXNSZWdpc3RlciB0byBhIHZhciByZWdpc3RlciB0byBz
YXZlIGFuZCByZXN0b3JlIGJleW9uZCB5aWVsZHMuCisgICAgICAgIG1fZ2VuZXJhdG9yUmVnaXN0
ZXIgPSBhZGRWYXIoKTsKKyAgICAgICAgaW50IGluZGV4ID0gbV90aGlzUmVnaXN0ZXIuaW5kZXgo
KTsKKyAgICAgICAgbV90aGlzUmVnaXN0ZXIuc2V0SW5kZXgobV9nZW5lcmF0b3JSZWdpc3Rlci0+
aW5kZXgoKSk7CisgICAgICAgIG1fZ2VuZXJhdG9yUmVnaXN0ZXItPnNldEluZGV4KGluZGV4KTsK
KyAgICB9CiAKICAgICBhbGxvY2F0ZUFuZEVtaXRTY29wZSgpOwogCkBAIC01MzQsNyArNTM5LDcg
QEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25O
b2RlKiBmdW5jdGlvbk5vZGUsIFVubGlua2UKICAgICAgICAgfQogCiAgICAgICAgIGJvb2wgc2hv
dWxkQ3JlYXRlQXJndW1lbnNWYXJpYWJsZSA9ICFoYXZlUGFyYW1ldGVyTmFtZWRBcmd1bWVudHMK
LSAgICAgICAgICAgICYmICFTb3VyY2VQYXJzZU1vZGVTZXQoU291cmNlUGFyc2VNb2RlOjpBcnJv
d0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2RlKS5j
b250YWlucyhtX2NvZGVCbG9jay0+cGFyc2VNb2RlKCkpOworICAgICAgICAgICAgJiYgIVNvdXJj
ZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6R2VuZXJh
dG9yQm9keU1vZGUpLmNvbnRhaW5zKG1fY29kZUJsb2NrLT5wYXJzZU1vZGUoKSk7CiAgICAgICAg
IHNob3VsZENyZWF0ZUFyZ3VtZW50c1ZhcmlhYmxlSW5QYXJhbWV0ZXJTY29wZSA9IHNob3VsZENy
ZWF0ZUFyZ3VtZW5zVmFyaWFibGUgJiYgIWlzU2ltcGxlUGFyYW1ldGVyTGlzdDsKICAgICAgICAg
Ly8gRG8gbm90IGNyZWF0ZSBhcmd1bWVudHMgdmFyaWFibGUgaW4gY2FzZSBvZiBBcnJvdyBmdW5j
dGlvbi4gVmFsdWUgd2lsbCBiZSBsb2FkZWQgZnJvbSBwYXJlbnQgc2NvcGUKICAgICAgICAgaWYg
KHNob3VsZENyZWF0ZUFyZ3VtZW5zVmFyaWFibGUgJiYgIXNob3VsZENyZWF0ZUFyZ3VtZW50c1Zh
cmlhYmxlSW5QYXJhbWV0ZXJTY29wZSkgewpAQCAtNTYyLDIzICs1NjcsNiBAQCBCeXRlY29kZUdl
bmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZtLCBGdW5jdGlvbk5vZGUqIGZ1bmN0aW9u
Tm9kZSwgVW5saW5rZQogCiAgICAgbV9uZXdUYXJnZXRSZWdpc3RlciA9IGFkZFZhcigpOwogICAg
IHN3aXRjaCAocGFyc2VNb2RlKSB7Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
cldyYXBwZXJGdW5jdGlvbk1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRv
cldyYXBwZXJNZXRob2RNb2RlOiB7Ci0gICAgICAgIG1fZ2VuZXJhdG9yUmVnaXN0ZXIgPSBhZGRW
YXIoKTsKLQotICAgICAgICAvLyBGSVhNRTogRW1pdCB0b190aGlzIG9ubHkgd2hlbiBHZW5lcmF0
b3IgdXNlcyBpdC4KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE1MTU4NgotICAgICAgICBtX2NvZGVCbG9jay0+YWRkUHJvcGVydHlBY2Nlc3NJbnN0
cnVjdGlvbihpbnN0cnVjdGlvbnMoKS5zaXplKCkpOwotICAgICAgICBlbWl0T3Bjb2RlKG9wX3Rv
X3RoaXMpOwotICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoa2lsbCgmbV90aGlzUmVnaXN0
ZXIpKTsKLSAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKDApOwotICAgICAgICBpbnN0cnVj
dGlvbnMoKS5hcHBlbmQoMCk7Ci0KLSAgICAgICAgZW1pdE1vdmUobV9nZW5lcmF0b3JSZWdpc3Rl
ciwgJm1fY2FsbGVlUmVnaXN0ZXIpOwotICAgICAgICBlbWl0Q3JlYXRlVGhpcyhtX2dlbmVyYXRv
clJlZ2lzdGVyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQotCiAgICAgY2FzZSBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGU6CiAgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6
OkFzeW5jTWV0aG9kTW9kZToKICAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNGdW5jdGlv
bk1vZGU6IHsKQEAgLTU4NywxNiArNTc1LDYgQEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2Rl
R2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25Ob2RlKiBmdW5jdGlvbk5vZGUsIFVubGlua2UKICAg
ICAgICAgbV9nZW5lcmF0b3JSZWdpc3RlciA9IGFkZFZhcigpOwogICAgICAgICBtX3Byb21pc2VD
YXBhYmlsaXR5UmVnaXN0ZXIgPSBhZGRWYXIoKTsKIAotICAgICAgICBpZiAocGFyc2VNb2RlICE9
IFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkgewotICAgICAgICAgICAg
Ly8gRklYTUU6IEVtaXQgdG9fdGhpcyBvbmx5IHdoZW4gQXN5bmNGdW5jdGlvbkJvZHkgdXNlcyBp
dC4KLSAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTE1ODYKLSAgICAgICAgICAgIG1fY29kZUJsb2NrLT5hZGRQcm9wZXJ0eUFjY2Vzc0luc3Ry
dWN0aW9uKGluc3RydWN0aW9ucygpLnNpemUoKSk7Ci0gICAgICAgICAgICBlbWl0T3Bjb2RlKG9w
X3RvX3RoaXMpOwotICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zKCkuYXBwZW5kKGtpbGwoJm1fdGhp
c1JlZ2lzdGVyKSk7Ci0gICAgICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7Ci0gICAg
ICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7Ci0gICAgICAgIH0KLQogICAgICAgICBl
bWl0TmV3T2JqZWN0KG1fZ2VuZXJhdG9yUmVnaXN0ZXIpOwogCiAgICAgICAgIC8vIGxldCBwcm9t
aXNlQ2FwYWJpbGl0eSBiZSBAbmV3UHJvbWlzZUNhcGFiaWxpdHkoQFByb21pc2UpCkBAIC02MTks
NDkgKzU5Nyw2MiBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5lcmF0b3IoVk0mIHZt
LCBGdW5jdGlvbk5vZGUqIGZ1bmN0aW9uTm9kZSwgVW5saW5rZQogICAgIH0KIAogICAgIGNhc2Ug
U291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uQm9keU1vZGU6Ci0gICAgY2FzZSBTb3VyY2VQ
YXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlOgotICAgIGNhc2UgU291cmNlUGFy
c2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZTogeworICAgIGNhc2UgU291cmNlUGFyc2VNb2RlOjpB
c3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZTogewogICAgICAgICAvLyB8dGhpc3wgaXMgYWxyZWFk
eSBmaWxsZWQgY29ycmVjdGx5IGJlZm9yZSBoZXJlLgogICAgICAgICBlbWl0TG9hZChtX25ld1Rh
cmdldFJlZ2lzdGVyLCBqc1VuZGVmaW5lZCgpKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogCisg
ICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvckJvZHlNb2RlOiB7CisgICAgICAgIGVt
aXRMb2FkKG1fbmV3VGFyZ2V0UmVnaXN0ZXIsIGpzVW5kZWZpbmVkKCkpOworICAgICAgICBicmVh
azsKKyAgICB9CisKKyAgICBjYXNlIFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGU6
CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJGdW5jdGlvbk1vZGU6CisgICAgY2FzZSBTb3VyY2VQYXJzZU1vZGU6OkdlbmVyYXRvcldy
YXBwZXJNZXRob2RNb2RlOiB7CisgICAgICAgIG1fZ2VuZXJhdG9yUmVnaXN0ZXIgPSBhZGRWYXIo
KTsKKyAgICAgICAgZW1pdE1vdmUobV9nZW5lcmF0b3JSZWdpc3RlciwgJm1fY2FsbGVlUmVnaXN0
ZXIpOworICAgICAgICBlbWl0Q3JlYXRlVGhpcyhtX2dlbmVyYXRvclJlZ2lzdGVyKTsKKyAgICAg
ICAgRkFMTFRIUk9VR0g7CisgICAgfQorCiAgICAgZGVmYXVsdDogewotICAgICAgICBpZiAoU291
cmNlUGFyc2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSAhPSBwYXJzZU1vZGUpIHsKLSAgICAgICAg
ICAgIGlmIChpc0NvbnN0cnVjdG9yKCkpIHsKLSAgICAgICAgICAgICAgICBlbWl0TW92ZShtX25l
d1RhcmdldFJlZ2lzdGVyLCAmbV90aGlzUmVnaXN0ZXIpOwotICAgICAgICAgICAgICAgIGlmIChj
b25zdHJ1Y3RvcktpbmQoKSA9PSBDb25zdHJ1Y3RvcktpbmQ6OkV4dGVuZHMpIHsKLSAgICAgICAg
ICAgICAgICAgICAgZW1pdE1vdmVFbXB0eVZhbHVlKCZtX3RoaXNSZWdpc3Rlcik7Ci0gICAgICAg
ICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgICAgIGVtaXRDcmVhdGVUaGlzKCZtX3Ro
aXNSZWdpc3Rlcik7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGNvbnN0cnVjdG9yS2luZCgpICE9
IENvbnN0cnVjdG9yS2luZDo6Tm9uZSkKLSAgICAgICAgICAgICAgICBlbWl0VGhyb3dUeXBlRXJy
b3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgY29uc3RydWN0b3Igd2l0aG91dCB8bmV3fCIpOwotICAg
ICAgICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgYm9vbCBzaG91bGRFbWl0VG9UaGlzID0g
ZmFsc2U7Ci0gICAgICAgICAgICAgICAgaWYgKGZ1bmN0aW9uTm9kZS0+dXNlc1RoaXMoKSB8fCBj
b2RlQmxvY2stPnVzZXNFdmFsKCkgfHwgbV9zY29wZU5vZGUtPmRvQW55SW5uZXJBcnJvd0Z1bmN0
aW9uc1VzZVRoaXMoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNl
RXZhbCgpKQotICAgICAgICAgICAgICAgICAgICBzaG91bGRFbWl0VG9UaGlzID0gdHJ1ZTsKLSAg
ICAgICAgICAgICAgICBlbHNlIGlmICgoZnVuY3Rpb25Ob2RlLT51c2VzU3VwZXJQcm9wZXJ0eSgp
IHx8IG1fc2NvcGVOb2RlLT5kb0FueUlubmVyQXJyb3dGdW5jdGlvbnNVc2VTdXBlclByb3BlcnR5
KCkpICYmICFjb2RlQmxvY2stPmlzU3RyaWN0TW9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIFdlIG11c3QgZW1pdCB0b190aGlzIHdoZW4gd2UncmUgbm90IGluIHN0cmljdCBtb2RlIGJl
Y2F1c2Ugd2UKLSAgICAgICAgICAgICAgICAgICAgLy8gd2lsbCBjb252ZXJ0IHx0aGlzfCB0byBh
biBvYmplY3QsIGFuZCB0aGF0IG9iamVjdCBtYXkgYmUgcGFzc2VkCi0gICAgICAgICAgICAgICAg
ICAgIC8vIHRvIGEgc3RyaWN0IGZ1bmN0aW9uIGFzIHx0aGlzfC4gVGhpcyBpcyBvYnNlcnZhYmxl
IGJlY2F1c2UgdGhhdAotICAgICAgICAgICAgICAgICAgICAvLyBzdHJpY3QgZnVuY3Rpb24ncyB0
b190aGlzIHdpbGwganVzdCByZXR1cm4gdGhlIG9iamVjdC4KLSAgICAgICAgICAgICAgICAgICAg
Ly8KLSAgICAgICAgICAgICAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBlbWl0IHRoaXMgZm9y
IHN0cmljdC1tb2RlIGNvZGUgYmVjYXVzZQotICAgICAgICAgICAgICAgICAgICAvLyBzdHJpY3Qt
bW9kZSBjb2RlIG1heSBjYWxsIGFub3RoZXIgc3RyaWN0IGZ1bmN0aW9uLCB3aGljaCB3aWxsCi0g
ICAgICAgICAgICAgICAgICAgIC8vIHRvX3RoaXMgaWYgaXQgZGlyZWN0bHkgdXNlcyB0aGlzOyB0
aGlzIGlzIE9LLCBiZWNhdXNlIHdlIGRlZmVyCi0gICAgICAgICAgICAgICAgICAgIC8vIHRvX3Ro
aXMgdW50aWwgfHRoaXN8IGlzIHVzZWQgZGlyZWN0bHkuIFN0cmljdC1tb2RlIGNvZGUgbWlnaHQK
LSAgICAgICAgICAgICAgICAgICAgLy8gYWxzbyBjYWxsIGEgc2xvcHB5IG1vZGUgZnVuY3Rpb24s
IGFuZCB0aGF0IHdpbGwgdG9fdGhpcywgd2hpY2gKLSAgICAgICAgICAgICAgICAgICAgLy8gd2ls
bCBkZWZlciB0aGUgY29udmVyc2lvbiwgYWdhaW4sIHVudGlsIG5lY2Vzc2FyeS4KLSAgICAgICAg
ICAgICAgICAgICAgc2hvdWxkRW1pdFRvVGhpcyA9IHRydWU7Ci0gICAgICAgICAgICAgICAgfQor
ICAgICAgICBpZiAoaXNDb25zdHJ1Y3RvcigpKSB7CisgICAgICAgICAgICBlbWl0TW92ZShtX25l
d1RhcmdldFJlZ2lzdGVyLCAmbV90aGlzUmVnaXN0ZXIpOworICAgICAgICAgICAgaWYgKGNvbnN0
cnVjdG9yS2luZCgpID09IENvbnN0cnVjdG9yS2luZDo6RXh0ZW5kcykgeworICAgICAgICAgICAg
ICAgIGVtaXRNb3ZlRW1wdHlWYWx1ZSgmbV90aGlzUmVnaXN0ZXIpOworICAgICAgICAgICAgfSBl
bHNlCisgICAgICAgICAgICAgICAgZW1pdENyZWF0ZVRoaXMoJm1fdGhpc1JlZ2lzdGVyKTsKKyAg
ICAgICAgfSBlbHNlIGlmIChjb25zdHJ1Y3RvcktpbmQoKSAhPSBDb25zdHJ1Y3RvcktpbmQ6Ok5v
bmUpCisgICAgICAgICAgICBlbWl0VGhyb3dUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3Mg
Y29uc3RydWN0b3Igd2l0aG91dCB8bmV3fCIpOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAg
IGJvb2wgc2hvdWxkRW1pdFRvVGhpcyA9IGZhbHNlOworICAgICAgICAgICAgaWYgKGZ1bmN0aW9u
Tm9kZS0+dXNlc1RoaXMoKSB8fCBjb2RlQmxvY2stPnVzZXNFdmFsKCkgfHwgbV9zY29wZU5vZGUt
PmRvQW55SW5uZXJBcnJvd0Z1bmN0aW9uc1VzZVRoaXMoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJ
bm5lckFycm93RnVuY3Rpb25zVXNlRXZhbCgpKQorICAgICAgICAgICAgICAgIHNob3VsZEVtaXRU
b1RoaXMgPSB0cnVlOworICAgICAgICAgICAgZWxzZSBpZiAoKGZ1bmN0aW9uTm9kZS0+dXNlc1N1
cGVyUHJvcGVydHkoKSB8fCBtX3Njb3BlTm9kZS0+ZG9BbnlJbm5lckFycm93RnVuY3Rpb25zVXNl
U3VwZXJQcm9wZXJ0eSgpKSAmJiAhY29kZUJsb2NrLT5pc1N0cmljdE1vZGUoKSkgeworICAgICAg
ICAgICAgICAgIC8vIFdlIG11c3QgZW1pdCB0b190aGlzIHdoZW4gd2UncmUgbm90IGluIHN0cmlj
dCBtb2RlIGJlY2F1c2Ugd2UKKyAgICAgICAgICAgICAgICAvLyB3aWxsIGNvbnZlcnQgfHRoaXN8
IHRvIGFuIG9iamVjdCwgYW5kIHRoYXQgb2JqZWN0IG1heSBiZSBwYXNzZWQKKyAgICAgICAgICAg
ICAgICAvLyB0byBhIHN0cmljdCBmdW5jdGlvbiBhcyB8dGhpc3wuIFRoaXMgaXMgb2JzZXJ2YWJs
ZSBiZWNhdXNlIHRoYXQKKyAgICAgICAgICAgICAgICAvLyBzdHJpY3QgZnVuY3Rpb24ncyB0b190
aGlzIHdpbGwganVzdCByZXR1cm4gdGhlIG9iamVjdC4KKyAgICAgICAgICAgICAgICAvLworICAg
ICAgICAgICAgICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gZW1pdCB0aGlzIGZvciBzdHJpY3QtbW9k
ZSBjb2RlIGJlY2F1c2UKKyAgICAgICAgICAgICAgICAvLyBzdHJpY3QtbW9kZSBjb2RlIG1heSBj
YWxsIGFub3RoZXIgc3RyaWN0IGZ1bmN0aW9uLCB3aGljaCB3aWxsCisgICAgICAgICAgICAgICAg
Ly8gdG9fdGhpcyBpZiBpdCBkaXJlY3RseSB1c2VzIHRoaXM7IHRoaXMgaXMgT0ssIGJlY2F1c2Ug
d2UgZGVmZXIKKyAgICAgICAgICAgICAgICAvLyB0b190aGlzIHVudGlsIHx0aGlzfCBpcyB1c2Vk
IGRpcmVjdGx5LiBTdHJpY3QtbW9kZSBjb2RlIG1pZ2h0CisgICAgICAgICAgICAgICAgLy8gYWxz
byBjYWxsIGEgc2xvcHB5IG1vZGUgZnVuY3Rpb24sIGFuZCB0aGF0IHdpbGwgdG9fdGhpcywgd2hp
Y2gKKyAgICAgICAgICAgICAgICAvLyB3aWxsIGRlZmVyIHRoZSBjb252ZXJzaW9uLCBhZ2Fpbiwg
dW50aWwgbmVjZXNzYXJ5LgorICAgICAgICAgICAgICAgIHNob3VsZEVtaXRUb1RoaXMgPSB0cnVl
OworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKHNob3VsZEVtaXRUb1RoaXMp
IHsKLSAgICAgICAgICAgICAgICAgICAgbV9jb2RlQmxvY2stPmFkZFByb3BlcnR5QWNjZXNzSW5z
dHJ1Y3Rpb24oaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpKTsKLSAgICAgICAgICAgICAgICAgICAgZW1p
dE9wY29kZShvcF90b190aGlzKTsKLSAgICAgICAgICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKGtpbGwoJm1fdGhpc1JlZ2lzdGVyKSk7Ci0gICAgICAgICAgICAgICAgICAgIGluc3Ry
dWN0aW9ucygpLmFwcGVuZCgwKTsKLSAgICAgICAgICAgICAgICAgICAgaW5zdHJ1Y3Rpb25zKCku
YXBwZW5kKDApOwotICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChzaG91bGRFbWl0
VG9UaGlzKSB7CisgICAgICAgICAgICAgICAgbV9jb2RlQmxvY2stPmFkZFByb3BlcnR5QWNjZXNz
SW5zdHJ1Y3Rpb24oaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpKTsKKyAgICAgICAgICAgICAgICBlbWl0
T3Bjb2RlKG9wX3RvX3RoaXMpOworICAgICAgICAgICAgICAgIGluc3RydWN0aW9ucygpLmFwcGVu
ZChraWxsKCZtX3RoaXNSZWdpc3RlcikpOworICAgICAgICAgICAgICAgIGluc3RydWN0aW9ucygp
LmFwcGVuZCgwKTsKKyAgICAgICAgICAgICAgICBpbnN0cnVjdGlvbnMoKS5hcHBlbmQoMCk7CiAg
ICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgYnJlYWs7CkBAIC02NzAsNyArNjYxLDcg
QEAgQnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFZNJiB2bSwgRnVuY3Rpb25O
b2RlKiBmdW5jdGlvbk5vZGUsIFVubGlua2UKIAogICAgIC8vIFdlIG5lZWQgbG9hZCB8c3VwZXJ8
ICYgfHRoaXN8IGZvciBhcnJvdyBmdW5jdGlvbiBiZWZvcmUgaW5pdGlhbGl6ZURlZmF1bHRQYXJh
bWV0ZXJWYWx1ZXNBbmRTZXR1cEZ1bmN0aW9uU2NvcGVTdGFjawogICAgIC8vIGlmIHdlIGhhdmUg
ZGVmYXVsdCBwYXJhbWV0ZXIgZXhwcmVzc2lvbi4gQmVjYXVzZSB8c3VwZXJ8ICYgfHRoaXN8IHZh
bHVlcyBjYW4gYmUgdXNlZCB0aGVyZQotICAgIGlmICgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJj
ZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiAhaXNTaW1wbGVQYXJhbWV0ZXJM
aXN0KSB8fCBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25C
b2R5TW9kZSkgeworICAgIGlmICgoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6
QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9k
ZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkuY29udGFpbnMocGFyc2VNb2Rl
KSAmJiAhaXNTaW1wbGVQYXJhbWV0ZXJMaXN0KSB8fCBwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VN
b2RlOjpBc3luY0Fycm93RnVuY3Rpb25Cb2R5TW9kZSkgewogICAgICAgICBpZiAoZnVuY3Rpb25O
b2RlLT51c2VzVGhpcygpIHx8IGZ1bmN0aW9uTm9kZS0+dXNlc1N1cGVyUHJvcGVydHkoKSkKICAg
ICAgICAgICAgIGVtaXRMb2FkVGhpc0Zyb21BcnJvd0Z1bmN0aW9uTGV4aWNhbEVudmlyb25tZW50
KCk7CiAKQEAgLTcyOCw3ICs3MTksNyBAQCBCeXRlY29kZUdlbmVyYXRvcjo6Qnl0ZWNvZGVHZW5l
cmF0b3IoVk0mIHZtLCBGdW5jdGlvbk5vZGUqIGZ1bmN0aW9uTm9kZSwgVW5saW5rZQogICAgIC8v
IElmIHdlIGRvbid0IGhhdmUgIGRlZmF1bHQgcGFyYW1ldGVyIGV4cHJlc3Npb24sIHRoZW4gbG9h
ZGluZyB8dGhpc3wgaW5zaWRlIGFuIGFycm93IGZ1bmN0aW9uIG11c3QgYmUgZG9uZQogICAgIC8v
IGFmdGVyIGluaXRpYWxpemVEZWZhdWx0UGFyYW1ldGVyVmFsdWVzQW5kU2V0dXBGdW5jdGlvblNj
b3BlU3RhY2soKSBiZWNhdXNlIHRoYXQgZnVuY3Rpb24gc2V0cyB1cCB0aGUKICAgICAvLyBTeW1i
b2xUYWJsZSBzdGFjayBhbmQgZW1pdExvYWRUaGlzRnJvbUFycm93RnVuY3Rpb25MZXhpY2FsRW52
aXJvbm1lbnQoKSBjb25zdWx0cyB0aGUgU3ltYm9sVGFibGUgc3RhY2sKLSAgICBpZiAoU291cmNl
UGFyc2VNb2RlU2V0KFNvdXJjZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBh
cnNlTW9kZTo6QXN5bmNBcnJvd0Z1bmN0aW9uTW9kZSkuY29udGFpbnMocGFyc2VNb2RlKSAmJiBp
c1NpbXBsZVBhcmFtZXRlckxpc3QpIHsKKyAgICBpZiAoU291cmNlUGFyc2VNb2RlU2V0KFNvdXJj
ZVBhcnNlTW9kZTo6QXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9kZTo6QXN5bmNBcnJv
d0Z1bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpHZW5lcmF0b3JCb2R5TW9kZSkuY29udGFp
bnMocGFyc2VNb2RlKSAmJiBpc1NpbXBsZVBhcmFtZXRlckxpc3QpIHsKICAgICAgICAgaWYgKGZ1
bmN0aW9uTm9kZS0+dXNlc1RoaXMoKSB8fCBmdW5jdGlvbk5vZGUtPnVzZXNTdXBlclByb3BlcnR5
KCkpCiAgICAgICAgICAgICBlbWl0TG9hZFRoaXNGcm9tQXJyb3dGdW5jdGlvbkxleGljYWxFbnZp
cm9ubWVudCgpOwogICAgIApAQCAtMjgyMywxMSArMjgxNCw2IEBAIHZvaWQgQnl0ZWNvZGVHZW5l
cmF0b3I6OmVtaXRQdXRHZW5lcmF0b3JGaWVsZHMoUmVnaXN0ZXJJRCogbmV4dEZ1bmN0aW9uKQog
CiAgICAgZW1pdERpcmVjdFB1dEJ5SWQobV9nZW5lcmF0b3JSZWdpc3RlciwgcHJvcGVydHlOYW1l
cygpLmJ1aWx0aW5OYW1lcygpLmdlbmVyYXRvck5leHRQcml2YXRlTmFtZSgpLCBuZXh0RnVuY3Rp
b24sIFByb3BlcnR5Tm9kZTo6S25vd25EaXJlY3QpOwogCi0gICAgLy8gV2UgZG8gbm90IHN0b3Jl
ICd0aGlzJyBpbiBhcnJvdyBmdW5jdGlvbiB3aXRoaW4gY29uc3RydWN0b3IsCi0gICAgLy8gYmVj
YXVzZSBpdCBtaWdodCBiZSBub3QgaW5pdGlhbGl6ZWQsIGlmIHN1cGVyIGlzIGNhbGxlZCBsYXRl
ci4KLSAgICBpZiAoIShpc0Rlcml2ZWRDb25zdHJ1Y3RvckNvbnRleHQoKSAmJiBtX2NvZGVCbG9j
ay0+cGFyc2VNb2RlKCkgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVuY3Rpb25Nb2Rl
KSkKLSAgICAgICAgZW1pdERpcmVjdFB1dEJ5SWQobV9nZW5lcmF0b3JSZWdpc3RlciwgcHJvcGVy
dHlOYW1lcygpLmJ1aWx0aW5OYW1lcygpLmdlbmVyYXRvclRoaXNQcml2YXRlTmFtZSgpLCAmbV90
aGlzUmVnaXN0ZXIsIFByb3BlcnR5Tm9kZTo6S25vd25EaXJlY3QpOwotCiAgICAgZW1pdERpcmVj
dFB1dEJ5SWQobV9nZW5lcmF0b3JSZWdpc3RlciwgcHJvcGVydHlOYW1lcygpLmJ1aWx0aW5OYW1l
cygpLmdlbmVyYXRvclN0YXRlUHJpdmF0ZU5hbWUoKSwgZW1pdExvYWQobnVsbHB0ciwganNOdW1i
ZXIoMCkpLCBQcm9wZXJ0eU5vZGU6Oktub3duRGlyZWN0KTsKIAogICAgIGVtaXREaXJlY3RQdXRC
eUlkKG1fZ2VuZXJhdG9yUmVnaXN0ZXIsIHByb3BlcnR5TmFtZXMoKS5idWlsdGluTmFtZXMoKS5n
ZW5lcmF0b3JGcmFtZVByaXZhdGVOYW1lKCksIGVtaXRMb2FkKG51bGxwdHIsIGpzTnVsbCgpKSwg
UHJvcGVydHlOb2RlOjpLbm93bkRpcmVjdCk7CkBAIC0zMjYwLDcgKzMyNDYsNyBAQCBSZWdpc3Rl
cklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbihSZWdpc3Rl
cklEKiBkc3QsIEZ1bmNFeAogCiBSZWdpc3RlcklEKiBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdE5l
d0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKFJlZ2lzdGVySUQqIGRzdCwgQXJyb3dGdW5jRXhwck5v
ZGUqIGZ1bmMpCiB7Ci0gICAgQVNTRVJUKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1v
ZGU6OkFycm93RnVuY3Rpb25Nb2RlLCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlv
bk1vZGUpLmNvbnRhaW5zKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9kZSgpKSk7CisgICAgQVNT
RVJUKFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6OkFycm93RnVuY3Rpb25Nb2Rl
LCBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbk1vZGUsIFNvdXJjZVBhcnNlTW9k
ZTo6R2VuZXJhdG9yQm9keU1vZGUpLmNvbnRhaW5zKGZ1bmMtPm1ldGFkYXRhKCktPnBhcnNlTW9k
ZSgpKSk7CiAgICAgZW1pdE5ld0Z1bmN0aW9uRXhwcmVzc2lvbkNvbW1vbihkc3QsIGZ1bmMtPm1l
dGFkYXRhKCkpOwogICAgIHJldHVybiBkc3Q7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmggYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKaW5kZXggMDRhODA5MDEw
N2RkNGQ2NGMxMDQ2NzdkZmNmNzM2NjdlYjI0OTNhYy4uOWE0MTdlYTMzZDhiZjU2M2Q5ZWQ3Y2M3
MmRjNmVmYzgxNzNhZGM2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaApAQCAtNjk1LDcgKzY5NSw3IEBAIG5hbWVz
cGFjZSBKU0MgewogCiAgICAgICAgIFJlZ2lzdGVySUQqIGVtaXRHZXRBcmd1bWVudChSZWdpc3Rl
cklEKiBkc3QsIGludDMyX3QgaW5kZXgpOwogCi0gICAgICAgIC8vIEluaXRpYWxpemUgb2JqZWN0
IHdpdGggZ2VuZXJhdG9yIGZpZWxkcyAoQGdlbmVyYXRvclRoaXMsIEBnZW5lcmF0b3JOZXh0LCBA
Z2VuZXJhdG9yU3RhdGUsIEBnZW5lcmF0b3JGcmFtZSkKKyAgICAgICAgLy8gSW5pdGlhbGl6ZSBv
YmplY3Qgd2l0aCBnZW5lcmF0b3IgZmllbGRzIChAZ2VuZXJhdG9yTmV4dCwgQGdlbmVyYXRvclN0
YXRlLCBAZ2VuZXJhdG9yRnJhbWUpCiAgICAgICAgIHZvaWQgZW1pdFB1dEdlbmVyYXRvckZpZWxk
cyhSZWdpc3RlcklEKiBuZXh0RnVuY3Rpb24pOwogCiAgICAgICAgIEV4cGVjdGVkRnVuY3Rpb24g
ZXhwZWN0ZWRGdW5jdGlvbkZvcklkZW50aWZpZXIoY29uc3QgSWRlbnRpZmllciYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9BU1RCdWlsZGVyLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaAppbmRleCBjNDlhYWFkMTc3ZTcyMzll
ZjQyNzE2ZGNiZmE2YTY3OGJmNzYyMDFiLi5iYjdkNGVkYmY2MzQzNjcyYzljMDg3MjUwYzYxN2Iz
NjJmMDJmNjNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1
aWxkZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIuaApA
QCAtMzk3LDcgKzM5Nyw3IEBAIGNsYXNzIEFTVEJ1aWxkZXIgewogCiAgICAgRXhwcmVzc2lvbk5v
ZGUqIGNyZWF0ZUdlbmVyYXRvckZ1bmN0aW9uQm9keShjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxv
Y2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5m
bywgY29uc3QgSWRlbnRpZmllciYgbmFtZSkKICAgICB7Ci0gICAgICAgIEZ1bmNFeHByTm9kZSog
cmVzdWx0ID0gc3RhdGljX2Nhc3Q8RnVuY0V4cHJOb2RlKj4oY3JlYXRlRnVuY3Rpb25FeHByKGxv
Y2F0aW9uLCBmdW5jdGlvbkluZm8pKTsKKyAgICAgICAgQXJyb3dGdW5jRXhwck5vZGUqIHJlc3Vs
dCA9IHN0YXRpY19jYXN0PEFycm93RnVuY0V4cHJOb2RlKj4oY3JlYXRlQXJyb3dGdW5jdGlvbkV4
cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5mbykpOwogICAgICAgICBpZiAoIW5hbWUuaXNOdWxsKCkp
CiAgICAgICAgICAgICByZXN1bHQtPm1ldGFkYXRhKCktPnNldEluZmVycmVkTmFtZShuYW1lKTsK
ICAgICAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTQwNiwxMiArNDA2LDEzIEBAIGNsYXNzIEFTVEJ1
aWxkZXIgewogICAgIEV4cHJlc3Npb25Ob2RlKiBjcmVhdGVBc3luY0Z1bmN0aW9uQm9keShjb25z
dCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5jdGlvbkluZm88QVNU
QnVpbGRlcj4mIGZ1bmN0aW9uSW5mbywgU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkKICAgICB7
CiAgICAgICAgIGlmIChwYXJzZU1vZGUgPT0gU291cmNlUGFyc2VNb2RlOjpBc3luY0Fycm93RnVu
Y3Rpb25Cb2R5TW9kZSkgeworICAgICAgICAgICAgdXNlc0Fycm93RnVuY3Rpb24oKTsKICAgICAg
ICAgICAgIFNvdXJjZUNvZGUgc291cmNlID0gbV9zb3VyY2VDb2RlLT5zdWJFeHByZXNzaW9uKGZ1
bmN0aW9uSW5mby5zdGFydE9mZnNldCwgZnVuY3Rpb25JbmZvLmJvZHktPmlzQXJyb3dGdW5jdGlv
bkJvZHlFeHByZXNzaW9uKCkgPyBmdW5jdGlvbkluZm8uZW5kT2Zmc2V0IC0gMSA6IGZ1bmN0aW9u
SW5mby5lbmRPZmZzZXQsIGZ1bmN0aW9uSW5mby5zdGFydExpbmUsIGZ1bmN0aW9uSW5mby5wYXJh
bWV0ZXJzU3RhcnRDb2x1bW4pOwotICAgICAgICAgICAgRnVuY0V4cHJOb2RlKiByZXN1bHQgPSBu
ZXcgKG1fcGFyc2VyQXJlbmEpIEZ1bmNFeHByTm9kZShsb2NhdGlvbiwgKmZ1bmN0aW9uSW5mby5u
YW1lLCBmdW5jdGlvbkluZm8uYm9keSwgc291cmNlKTsKKyAgICAgICAgICAgIEFycm93RnVuY0V4
cHJOb2RlKiByZXN1bHQgPSBuZXcgKG1fcGFyc2VyQXJlbmEpIEFycm93RnVuY0V4cHJOb2RlKGxv
Y2F0aW9uLCAqZnVuY3Rpb25JbmZvLm5hbWUsIGZ1bmN0aW9uSW5mby5ib2R5LCBzb3VyY2UpOwog
ICAgICAgICAgICAgZnVuY3Rpb25JbmZvLmJvZHktPnNldExvYyhmdW5jdGlvbkluZm8uc3RhcnRM
aW5lLCBmdW5jdGlvbkluZm8uZW5kTGluZSwgbG9jYXRpb24uc3RhcnRPZmZzZXQsIGxvY2F0aW9u
LmxpbmVTdGFydE9mZnNldCk7CiAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICB9
Ci0gICAgICAgIHJldHVybiBjcmVhdGVGdW5jdGlvbkV4cHIobG9jYXRpb24sIGZ1bmN0aW9uSW5m
byk7CisgICAgICAgIHJldHVybiBjcmVhdGVBcnJvd0Z1bmN0aW9uRXhwcihsb2NhdGlvbiwgZnVu
Y3Rpb25JbmZvKTsKICAgICB9CiAKICAgICBFeHByZXNzaW9uTm9kZSogY3JlYXRlTWV0aG9kRGVm
aW5pdGlvbihjb25zdCBKU1Rva2VuTG9jYXRpb24mIGxvY2F0aW9uLCBjb25zdCBQYXJzZXJGdW5j
dGlvbkluZm88QVNUQnVpbGRlcj4mIGZ1bmN0aW9uSW5mbykKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvUGFyc2VyLmNwcAppbmRleCA5MGNmYzgxMWQ5ZmE5ZTkwMjVkMmYyYzAyMTNlM2MyNWNl
ZGJkMjA1Li5iNTRjY2I5NTgzYzg5OWY5NTUwOTYwNWZhMThhMzNkNTRkNWE4NzBiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCkBAIC0yMDU5LDggKzIwNTksNiBAQCB0
ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IHR5cGVuYW1lIFRyZWVCdWlsZGVyOjpGb3JtYWxQ
YXJhbWV0ZXJMaXN0IFBhcnNlcjxMZQogICAgICAgICArK3BhcmFtZXRlckNvdW50OwogICAgIH07
CiAKLSAgICAvLyBAZ2VuZXJhdG9yCi0gICAgYWRkUGFyYW1ldGVyKG1fdm0tPnByb3BlcnR5TmFt
ZXMtPmJ1aWx0aW5OYW1lcygpLmdlbmVyYXRvclByaXZhdGVOYW1lKCkpOwogICAgIC8vIEBnZW5l
cmF0b3JTdGF0ZQogICAgIGFkZFBhcmFtZXRlcihtX3ZtLT5wcm9wZXJ0eU5hbWVzLT5idWlsdGlu
TmFtZXMoKS5nZW5lcmF0b3JTdGF0ZVByaXZhdGVOYW1lKCkpOwogICAgIC8vIEBnZW5lcmF0b3JW
YWx1ZQpAQCAtMzU0MSw3ICszNTM5LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBU
cmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VZaWVsZEV4cHJlc3MKICAgICAv
LyAgICAgeWllbGQgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdICogQXNzaWdubWVudEV4cHJlc3Np
b25bP0luLCBZaWVsZF0KIAogICAgIC8vIGh0dHA6Ly9lY21hLWludGVybmF0aW9uYWwub3JnL2Vj
bWEtMjYyLzYuMC8jc2VjLWdlbmVyYXRvci1mdW5jdGlvbi1kZWZpbml0aW9ucwotICAgIGZhaWxJ
ZkZhbHNlKGN1cnJlbnRTY29wZSgpLT5pc0dlbmVyYXRvcigpICYmICFjdXJyZW50U2NvcGUoKS0+
aXNBcnJvd0Z1bmN0aW9uQm91bmRhcnkoKSwgIkNhbm5vdCB1c2UgeWllbGQgZXhwcmVzc2lvbiBv
dXQgb2YgZ2VuZXJhdG9yIik7CisgICAgZmFpbElmRmFsc2UoY3VycmVudFNjb3BlKCktPmlzR2Vu
ZXJhdG9yKCksICJDYW5ub3QgdXNlIHlpZWxkIGV4cHJlc3Npb24gb3V0IG9mIGdlbmVyYXRvciIp
OwogCiAgICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNz
ZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRpb25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHkt
ZXJyb3JzCiAgICAgZmFpbElmVHJ1ZShtX3BhcnNlclN0YXRlLmZ1bmN0aW9uUGFyc2VQaGFzZSA9
PSBGdW5jdGlvblBhcnNlUGhhc2U6OlBhcmFtZXRlcnMsICJDYW5ub3QgdXNlIHlpZWxkIGV4cHJl
c3Npb24gd2l0aGluIHBhcmFtZXRlcnMiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9wYXJzZXIvUGFyc2VyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNl
ci5oCmluZGV4IDI5MTczYWJlNjMyNzAyMjdhZTVjNDU5ODEyMmUwZTBmMWZjZDM3ZTcuLmEzZjRm
MTFlZjAzZDEyZWRkN2Y3NjBjMzMzZTc4MzdmY2Q2NmY5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3BhcnNlci9QYXJzZXIuaApAQCAtNzEyLDcgKzcxMiw3IEBAIHN0cnVjdCBTY29wZSB7CiAKICAg
ICB2b2lkIHNldElzR2VuZXJhdG9yKCkKICAgICB7Ci0gICAgICAgIHNldElzRnVuY3Rpb24oKTsK
KyAgICAgICAgc2V0SXNBcnJvd0Z1bmN0aW9uKCk7CiAgICAgICAgIG1faXNHZW5lcmF0b3IgPSB0
cnVlOwogICAgICAgICBtX2lzR2VuZXJhdG9yQm91bmRhcnkgPSB0cnVlOwogICAgICAgICBtX2hh
c0FyZ3VtZW50cyA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXJNb2Rlcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJN
b2Rlcy5oCmluZGV4IDlhOTZmNWQxN2JkZTcwNDAxMTk2NTBlODE2NGYzOGRlMTNkNDAwMzQuLjdk
YWNlNzk0YzVkZTAwMTM1NmRkYmY3MTRhOWUwZDFjYmU5YWQxNjkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyTW9kZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL1BhcnNlck1vZGVzLmgKQEAgLTE4Nyw3ICsxODcsOCBAQCBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNBcnJvd0Z1bmN0aW9uUGFyc2VNb2RlKFNvdXJjZVBhcnNlTW9kZSBwYXJz
ZU1vZGUpCiAgICAgcmV0dXJuIFNvdXJjZVBhcnNlTW9kZVNldCgKICAgICAgICAgU291cmNlUGFy
c2VNb2RlOjpBcnJvd0Z1bmN0aW9uTW9kZSwKICAgICAgICAgU291cmNlUGFyc2VNb2RlOjpBc3lu
Y0Fycm93RnVuY3Rpb25Nb2RlLAotICAgICAgICBTb3VyY2VQYXJzZU1vZGU6OkFzeW5jQXJyb3dG
dW5jdGlvbkJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOworICAgICAgICBTb3VyY2VQYXJz
ZU1vZGU6OkFzeW5jQXJyb3dGdW5jdGlvbkJvZHlNb2RlLAorICAgICAgICBTb3VyY2VQYXJzZU1v
ZGU6OkdlbmVyYXRvckJvZHlNb2RlKS5jb250YWlucyhwYXJzZU1vZGUpOwogfQogCiBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNNb2R1bGVQYXJzZU1vZGUoU291cmNlUGFyc2VNb2RlIHBhcnNlTW9kZSkg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvckZ1
bmN0aW9uLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyYXRvckZ1bmN0
aW9uLmgKaW5kZXggYzE0YzkwMjYzOGM4ZmE5N2I2ZDkzNzExMWRhZTBlMDJmMDQxOWQxOC4uZjk0
OTVjYTA1ZGZkZDMzYTkxOWMxZTg0MDJlMGIwZWM5NDYzZGY5OSAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNHZW5lcmF0b3JGdW5jdGlvbi5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTR2VuZXJhdG9yRnVuY3Rpb24uaApAQCAtNTQsMTQg
KzU0LDEzIEBAIGNsYXNzIEpTR2VuZXJhdG9yRnVuY3Rpb24gOiBwdWJsaWMgSlNGdW5jdGlvbiB7
CiAgICAgICAgIEV4ZWN1dGluZyA9IC0yLAogICAgIH07CiAKLSAgICAvLyBbdGhpc10sIEBnZW5l
cmF0b3IsIEBnZW5lcmF0b3JTdGF0ZSwgQGdlbmVyYXRvclZhbHVlLCBAZ2VuZXJhdG9yUmVzdW1l
TW9kZSwgQGdlbmVyYXRvckZyYW1lLgorICAgIC8vIFt0aGlzXSwgQGdlbmVyYXRvclN0YXRlLCBA
Z2VuZXJhdG9yVmFsdWUsIEBnZW5lcmF0b3JSZXN1bWVNb2RlLCBAZ2VuZXJhdG9yRnJhbWUuCiAg
ICAgZW51bSBjbGFzcyBHZW5lcmF0b3JBcmd1bWVudCA6IGludDMyX3QgewogICAgICAgICBUaGlz
VmFsdWUgPSAwLAotICAgICAgICBHZW5lcmF0b3IgPSAxLAotICAgICAgICBTdGF0ZSA9IDIsCi0g
ICAgICAgIFZhbHVlID0gMywKLSAgICAgICAgUmVzdW1lTW9kZSA9IDQsCi0gICAgICAgIEZyYW1l
ID0gNSwKKyAgICAgICAgU3RhdGUgPSAxLAorICAgICAgICBWYWx1ZSA9IDIsCisgICAgICAgIFJl
c3VtZU1vZGUgPSAzLAorICAgICAgICBGcmFtZSA9IDQsCiAgICAgfTsKIAogICAgIGNvbnN0IHN0
YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>