<?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>26450</bug_id>
          
          <creation_ts>2009-06-16 11:39:48 -0700</creation_ts>
          <short_desc>Rename values of enum RedirectOriginCheck to make them clearer.</short_desc>
          <delta_ts>2009-06-16 14:01:52 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Jian Li">jianli</reporter>
          <assigned_to name="Jian Li">jianli</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>126244</commentid>
    <comment_count>0</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-06-16 11:39:48 -0700</bug_when>
    <thetext>Rename enum value RequireSameRedirectOrigin to DenyCrossOriginRedirect, and AllowDifferentRedirectOrigin to AllowCrossOriginRedirect.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126251</commentid>
    <comment_count>1</comment_count>
      <attachid>31361</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-06-16 11:54:55 -0700</bug_when>
    <thetext>Created attachment 31361
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126261</commentid>
    <comment_count>2</comment_count>
      <attachid>31361</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-06-16 12:33:28 -0700</bug_when>
    <thetext>Comment on attachment 31361
Proposed Patch

How about CrossOriginRedirectPolicy as the enum name as it seems more consistent with the naming of the enums values?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126270</commentid>
    <comment_count>3</comment_count>
      <attachid>31366</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-06-16 13:11:56 -0700</bug_when>
    <thetext>Created attachment 31366
Proposed Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126272</commentid>
    <comment_count>4</comment_count>
      <attachid>31366</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2009-06-16 13:19:52 -0700</bug_when>
    <thetext>Comment on attachment 31366
Proposed Patch

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>126282</commentid>
    <comment_count>5</comment_count>
    <who name="Jian Li">jianli</who>
    <bug_when>2009-06-16 14:01:52 -0700</bug_when>
    <thetext>Committed as http://trac.webkit.org/changeset/44737</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31361</attachid>
            <date>2009-06-16 11:54:55 -0700</date>
            <delta_ts>2009-06-16 13:11:56 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>26450</filename>
            <type>text/plain</type>
            <size>5807</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Njc2OTk1My4uODNkYjM2MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyNiBAQAogMjAwOS0wNi0xNiAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQnVnIDI2NDUwOiBSZW5hbWUgdmFsdWVzIG9mIGVudW0gUmVkaXJlY3RPcmln
aW5DaGVjayB0byBtYWtlIHRoZW0KKyAgICAgICAgY2xlYXJlci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDUwCisKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKiBs
b2FkZXIvVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRhYmxl
TG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiBsb2FkZXIvVGhy
ZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6KToKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Oldvcmtlcik6CisgICAgICAg
ICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlckNv
bnRleHQ6OmltcG9ydFNjcmlwdHMpOgorICAgICAgICAqIHhtbC9YTUxIdHRwUmVxdWVzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpYTUxIdHRwUmVxdWVzdDo6bG9hZFJlcXVlc3RBc3luY2hyb25v
dXNseSk6CisKKzIwMDktMDYtMTYgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFJldmlld2VkIGJ5IEFkYW0gQmFydGggYW5kIERhdmlkIExldmluLgogCiAgICAgICAg
IEJ1ZyAyNjE0NjogQ2hhbmdlIHRvIHVzZSBUaHJlYWRhYmxlTG9hZGVyIHRvIGxvYWQgdGhlIHdv
cmtlciBzY3JpcHQKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3Bw
CmluZGV4IDBkZTYyY2UuLjI5NTU1MTIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyLmNwcApAQCAtOTEsMTIgKzkxLDEyIEBAIERvY3VtZW50VGhyZWFkYWJsZUxv
YWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFk
YWJsCiAgICAgLCBtX2RvY3VtZW50KGRvY3VtZW50KQogICAgICwgbV9hbGxvd1N0b3JlZENyZWRl
bnRpYWxzKHN0b3JlZENyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMpCiAgICAg
LCBtX3NhbWVPcmlnaW5SZXF1ZXN0KGRvY3VtZW50LT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1
ZXN0KHJlcXVlc3QudXJsKCkpKQotICAgICwgbV9jaGVja1JlZGlyZWN0T3JpZ2luKHJlZGlyZWN0
T3JpZ2luQ2hlY2sgPT0gUmVxdWlyZVNhbWVSZWRpcmVjdE9yaWdpbikKKyAgICAsIG1fY2hlY2tS
ZWRpcmVjdE9yaWdpbihyZWRpcmVjdE9yaWdpbkNoZWNrID09IERlbnlDcm9zc09yaWdpblJlZGly
ZWN0KQogewogICAgIEFTU0VSVChkb2N1bWVudCk7CiAgICAgQVNTRVJUKGNsaWVudCk7CiAgICAg
QVNTRVJUKHN0b3JlZENyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMgfHwgc3Rv
cmVkQ3JlZGVudGlhbHMgPT0gRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKLSAgICBBU1NF
UlQocmVkaXJlY3RPcmlnaW5DaGVjayA9PSBSZXF1aXJlU2FtZVJlZGlyZWN0T3JpZ2luIHx8IHJl
ZGlyZWN0T3JpZ2luQ2hlY2sgPT0gQWxsb3dEaWZmZXJlbnRSZWRpcmVjdE9yaWdpbik7CisgICAg
QVNTRVJUKHJlZGlyZWN0T3JpZ2luQ2hlY2sgPT0gRGVueUNyb3NzT3JpZ2luUmVkaXJlY3QgfHwg
cmVkaXJlY3RPcmlnaW5DaGVjayA9PSBBbGxvd0Nyb3NzT3JpZ2luUmVkaXJlY3QpOwogICAgIG1f
bG9hZGVyID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShkb2N1bWVudC0+ZnJhbWUoKSwgdGhp
cywgcmVxdWVzdCwgZmFsc2UsIGNhbGxiYWNrc1NldHRpbmcgPT0gU2VuZExvYWRDYWxsYmFja3Ms
IGNvbnRlbnRTbmlmZiA9PSBTbmlmZkNvbnRlbnQpOwogfQogCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXIuY3BwCmluZGV4IDdiOWM2YzYuLmFlZjNlM2IgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9h
ZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVM
b2FkZXIuY3BwCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQgVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJl
c291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0CiAKICNp
ZiBFTkFCTEUoV09SS0VSUykKICAgICBpZiAoY29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpIHsK
LSAgICAgICAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNs
eShzdGF0aWNfY2FzdDxXb3JrZXJDb250ZXh0Kj4oY29udGV4dCksIHJlcXVlc3QsIGNsaWVudCwg
c3RvcmVkQ3JlZGVudGlhbHMsIFJlcXVpcmVTYW1lUmVkaXJlY3RPcmlnaW4pOworICAgICAgICBX
b3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KHN0YXRpY19j
YXN0PFdvcmtlckNvbnRleHQqPihjb250ZXh0KSwgcmVxdWVzdCwgY2xpZW50LCBzdG9yZWRDcmVk
ZW50aWFscywgRGVueUNyb3NzT3JpZ2luUmVkaXJlY3QpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIv
VGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oCmlu
ZGV4IDBhNGM0ZTMuLjU2NjNlNWQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFi
bGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU5
LDggKzU5LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIH07CiAKICAgICBlbnVtIFJlZGly
ZWN0T3JpZ2luQ2hlY2sgewotICAgICAgICBSZXF1aXJlU2FtZVJlZGlyZWN0T3JpZ2luLAotICAg
ICAgICBBbGxvd0RpZmZlcmVudFJlZGlyZWN0T3JpZ2luCisgICAgICAgIERlbnlDcm9zc09yaWdp
blJlZGlyZWN0LAorICAgICAgICBBbGxvd0Nyb3NzT3JpZ2luUmVkaXJlY3QKICAgICB9OwogCiAg
ICAgLy8gVXNlZnVsIGZvciBkb2luZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQg
KG5vdCB0aHJlYWRzYWZlLCAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
IGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYjRjZWQyOC4uYTgxMGRkYSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlci5jcHAKQEAgLTY2LDcgKzY2LDcgQEAgV29ya2VyOjpXb3JrZXIoY29uc3QgU3RyaW5n
JiB1cmwsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlvbkNvZGUKICAg
ICB9CiAKICAgICBtX3NjcmlwdExvYWRlciA9IG5ldyBXb3JrZXJTY3JpcHRMb2FkZXIoKTsKLSAg
ICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgbV9zY3JpcHRVUkwsIFJlcXVpcmVTYW1lUmVkaXJlY3RPcmlnaW4sIHRoaXMpOworICAg
IG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoc2NyaXB0RXhlY3V0aW9uQ29udGV4
dCgpLCBtX3NjcmlwdFVSTCwgRGVueUNyb3NzT3JpZ2luUmVkaXJlY3QsIHRoaXMpOwogICAgIHNl
dFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsgIC8vIFRoZSB3b3JrZXIgY29udGV4dCBkb2VzIG5vdCBl
eGlzdCB3aGlsZSBsb2FkaW5nLCBzbyB3ZSBtdXN0IGVuc3VyZSB0aGF0IHRoZSB3b3JrZXIgb2Jq
ZWN0IGlzIG5vdCBjb2xsZWN0ZWQsIGFzIHdlbGwgYXMgaXRzIGV2ZW50IGxpc3RlbmVycy4KIH0K
IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwIGIvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCmluZGV4IDU3YjIxODkuLmZkMDUwNjIgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAorKysgYi9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyQ29udGV4dC5jcHAKQEAgLTI3NCw3ICsyNzQsNyBAQCB2b2lkIFdvcmtlckNv
bnRleHQ6OmltcG9ydFNjcmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMsIGNvbnN0IFN0
cmluZyYgY2FsbAogCiAgICAgZm9yIChWZWN0b3I8S1VSTD46OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
Y29tcGxldGVkVVJMcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpIHsKICAgICAgICAgV29ya2Vy
U2NyaXB0TG9hZGVyIHNjcmlwdExvYWRlcjsKLSAgICAgICAgc2NyaXB0TG9hZGVyLmxvYWRTeW5j
aHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKml0LCBBbGxvd0RpZmZlcmVudFJl
ZGlyZWN0T3JpZ2luKTsKKyAgICAgICAgc2NyaXB0TG9hZGVyLmxvYWRTeW5jaHJvbm91c2x5KHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKml0LCBBbGxvd0Nyb3NzT3JpZ2luUmVkaXJlY3QpOwog
CiAgICAgICAgIC8vIElmIHRoZSBmZXRjaGluZyBhdHRlbXB0IGZhaWxlZCwgdGhyb3cgYSBORVRX
T1JLX0VSUiBleGNlcHRpb24gYW5kIGFib3J0IGFsbCB0aGVzZSBzdGVwcy4KICAgICAgICAgaWYg
KHNjcmlwdExvYWRlci5mYWlsZWQoKSkgewpkaWZmIC0tZ2l0IGEvV2ViQ29yZS94bWwvWE1MSHR0
cFJlcXVlc3QuY3BwIGIvV2ViQ29yZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCmluZGV4IDc2ZWUw
NDguLjU5Y2FjYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0LmNwcAor
KysgYi9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAKQEAgLTY3NCw3ICs2NzQsNyBAQCB2
b2lkIFhNTEh0dHBSZXF1ZXN0Ojpsb2FkUmVxdWVzdEFzeW5jaHJvbm91c2x5KFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCkKICAgICBpZiAobV91cGxvYWQpCiAgICAgICAgIHJlcXVlc3Quc2V0UmVw
b3J0VXBsb2FkUHJvZ3Jlc3ModHJ1ZSk7CiAKLSAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2Fk
ZXI6OmNyZWF0ZShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIGNhbGxi
YWNrcywgRG9Ob3RTbmlmZkNvbnRlbnQsIHN0b3JlZENyZWRlbnRpYWxzLCBSZXF1aXJlU2FtZVJl
ZGlyZWN0T3JpZ2luKTsKKyAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHRoaXMsIHJlcXVlc3QsIGNhbGxiYWNrcywgRG9Ob3RT
bmlmZkNvbnRlbnQsIHN0b3JlZENyZWRlbnRpYWxzLCBEZW55Q3Jvc3NPcmlnaW5SZWRpcmVjdCk7
CiAKICAgICBpZiAobV9sb2FkZXIpIHsKICAgICAgICAgLy8gTmVpdGhlciB0aGlzIG9iamVjdCBu
b3IgdGhlIEphdmFTY3JpcHQgd3JhcHBlciBzaG91bGQgYmUgZGVsZXRlZCB3aGlsZQo=
</data>
<flag name="review"
          id="16032"
          type_id="1"
          status="-"
          setter="levin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>31366</attachid>
            <date>2009-06-16 13:11:56 -0700</date>
            <delta_ts>2009-06-16 13:19:52 -0700</delta_ts>
            <desc>Proposed Patch</desc>
            <filename>26450_2</filename>
            <type>text/plain</type>
            <size>25897</size>
            <attacher name="Jian Li">jianli</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
Njc2OTk1My4uNDZiMGIxMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw0MSBAQAogMjAwOS0wNi0xNiAgSmlhbiBMaSAgPGpp
YW5saUBjaHJvbWl1bS5vcmc+CiAKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQnVnIDI2NDUwOiBSZW5hbWUgdmFsdWVzIG9mIGVudW0gUmVkaXJlY3RPcmln
aW5DaGVjayB0byBtYWtlIHRoZW0KKyAgICAgICAgY2xlYXJlci4KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI2NDUwCisKKyAgICAgICAgKiBsb2FkZXIv
RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50VGhy
ZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkRvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6d2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAg
KiBsb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmg6CisgICAgICAgICogbG9hZGVyL1Ro
cmVhZGFibGVMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGhyZWFkYWJsZUxvYWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJj
ZVN5bmNocm9ub3VzbHkpOgorICAgICAgICAqIGxvYWRlci9UaHJlYWRhYmxlTG9hZGVyLmg6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyOjpX
b3JrZXIpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJDb250ZXh0OjppbXBvcnRTY3JpcHRzKToKKyAgICAgICAgKiBsb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJl
YWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OldvcmtlclRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAg
ICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6
TWFpblRocmVhZEJyaWRnZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpNYWluVGhyZWFkQnJpZGdlOjptYWluVGhyZWFkQ3JlYXRlTG9hZGVyKToKKyAgICAgICAg
KiBsb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6V29y
a2VyVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRMb2FkZXI6Omxv
YWRTeW5jaHJvbm91c2x5KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6
bG9hZEFzeW5jaHJvbm91c2x5KToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRl
ci5oOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyQ29udGV4dDo6aW1wb3J0U2NyaXB0cyk6Cisg
ICAgICAgICogeG1sL1hNTEh0dHBSZXF1ZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlhNTEh0
dHBSZXF1ZXN0Ojpsb2FkUmVxdWVzdEFzeW5jaHJvbm91c2x5KToKKworMjAwOS0wNi0xNiAgSmlh
biBMaSAgPGppYW5saUBjaHJvbWl1bS5vcmc+CisKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBC
YXJ0aCBhbmQgRGF2aWQgTGV2aW4uCiAKICAgICAgICAgQnVnIDI2MTQ2OiBDaGFuZ2UgdG8gdXNl
IFRocmVhZGFibGVMb2FkZXIgdG8gbG9hZCB0aGUgd29ya2VyIHNjcmlwdApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5jcHAKaW5kZXggMGRlNjJjZS4uYWU2NzAyYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmNwcAor
KysgYi9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIuY3BwCkBAIC03Nywy
NiArNzcsMjYgQEAgdm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5
bmNocm9ub3VzbHkoRG9jdW1lbnQqIGRvY3VtZW50LCBjb24KICAgICBjbGllbnQuZGlkRmluaXNo
TG9hZGluZyhpZGVudGlmaWVyKTsKIH0KIAotUGFzc1JlZlB0cjxEb2N1bWVudFRocmVhZGFibGVM
b2FkZXI+IERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVu
dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIExvYWRDYWxsYmFja3MgY2FsbGJhY2tzU2V0dGluZywgQ29udGVudFNuaWZmIGNv
bnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMgc3RvcmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0
T3JpZ2luQ2hlY2sgcmVkaXJlY3RPcmlnaW5DaGVjaykKK1Bhc3NSZWZQdHI8RG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyPiBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShEb2N1bWVudCog
ZG9jdW1lbnQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRT
bmlmZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxzLCBD
cm9zc09yaWdpblJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpCiB7CiAg
ICAgQVNTRVJUKGRvY3VtZW50KTsKLSAgICBSZWZQdHI8RG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVy
PiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyKGRvY3VtZW50
LCBjbGllbnQsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZiwgc3RvcmVk
Q3JlZGVudGlhbHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2spKTsKKyAgICBSZWZQdHI8RG9jdW1lbnRU
aHJlYWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBhZG9wdFJlZihuZXcgRG9jdW1lbnRUaHJlYWRhYmxl
TG9hZGVyKGRvY3VtZW50LCBjbGllbnQsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRl
bnRTbmlmZiwgc3RvcmVkQ3JlZGVudGlhbHMsIGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpKTsK
ICAgICBpZiAoIWxvYWRlci0+bV9sb2FkZXIpCiAgICAgICAgIGxvYWRlciA9IDA7CiAgICAgcmV0
dXJuIGxvYWRlci5yZWxlYXNlKCk7CiB9CiAKLURvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxvYWRl
ckNsaWVudCogY2xpZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIExvYWRDYWxs
YmFja3MgY2FsbGJhY2tzU2V0dGluZywgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlmZiwgU3RvcmVk
Q3JlZGVudGlhbHMgc3RvcmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2sgcmVkaXJl
Y3RPcmlnaW5DaGVjaykKK0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6RG9jdW1lbnRUaHJlYWRh
YmxlTG9hZGVyKERvY3VtZW50KiBkb2N1bWVudCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xp
ZW50LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIExvYWRDYWxsYmFja3MgY2FsbGJh
Y2tzU2V0dGluZywgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMg
c3RvcmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kgY3Jvc3NPcmlnaW5S
ZWRpcmVjdFBvbGljeSkKICAgICA6IG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZG9jdW1lbnQo
ZG9jdW1lbnQpCiAgICAgLCBtX2FsbG93U3RvcmVkQ3JlZGVudGlhbHMoc3RvcmVkQ3JlZGVudGlh
bHMgPT0gQWxsb3dTdG9yZWRDcmVkZW50aWFscykKICAgICAsIG1fc2FtZU9yaWdpblJlcXVlc3Qo
ZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QocmVxdWVzdC51cmwoKSkpCi0g
ICAgLCBtX2NoZWNrUmVkaXJlY3RPcmlnaW4ocmVkaXJlY3RPcmlnaW5DaGVjayA9PSBSZXF1aXJl
U2FtZVJlZGlyZWN0T3JpZ2luKQorICAgICwgbV9kZW55Q3Jvc3NPcmlnaW5SZWRpcmVjdChjcm9z
c09yaWdpblJlZGlyZWN0UG9saWN5ID09IERlbnlDcm9zc09yaWdpblJlZGlyZWN0KQogewogICAg
IEFTU0VSVChkb2N1bWVudCk7CiAgICAgQVNTRVJUKGNsaWVudCk7CiAgICAgQVNTRVJUKHN0b3Jl
ZENyZWRlbnRpYWxzID09IEFsbG93U3RvcmVkQ3JlZGVudGlhbHMgfHwgc3RvcmVkQ3JlZGVudGlh
bHMgPT0gRG9Ob3RBbGxvd1N0b3JlZENyZWRlbnRpYWxzKTsKLSAgICBBU1NFUlQocmVkaXJlY3RP
cmlnaW5DaGVjayA9PSBSZXF1aXJlU2FtZVJlZGlyZWN0T3JpZ2luIHx8IHJlZGlyZWN0T3JpZ2lu
Q2hlY2sgPT0gQWxsb3dEaWZmZXJlbnRSZWRpcmVjdE9yaWdpbik7CisgICAgQVNTRVJUKGNyb3Nz
T3JpZ2luUmVkaXJlY3RQb2xpY3kgPT0gRGVueUNyb3NzT3JpZ2luUmVkaXJlY3QgfHwgY3Jvc3NP
cmlnaW5SZWRpcmVjdFBvbGljeSA9PSBBbGxvd0Nyb3NzT3JpZ2luUmVkaXJlY3QpOwogICAgIG1f
bG9hZGVyID0gU3VicmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShkb2N1bWVudC0+ZnJhbWUoKSwgdGhp
cywgcmVxdWVzdCwgZmFsc2UsIGNhbGxiYWNrc1NldHRpbmcgPT0gU2VuZExvYWRDYWxsYmFja3Ms
IGNvbnRlbnRTbmlmZiA9PSBTbmlmZkNvbnRlbnQpOwogfQogCkBAIC0xMjMsNyArMTIzLDcgQEAg
dm9pZCBEb2N1bWVudFRocmVhZGFibGVMb2FkZXI6OndpbGxTZW5kUmVxdWVzdChTdWJyZXNvdXJj
ZUxvYWRlciogbG9hZGVyLCBSZXNvdXIKICAgICBBU1NFUlRfVU5VU0VEKGxvYWRlciwgbG9hZGVy
ID09IG1fbG9hZGVyKTsKIAogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIHRvIGJlIGZpeGVkIHRv
IGZvbGxvdyB0aGUgcmVkaXJlY3QgY29ycmVjdGx5IGV2ZW4gZm9yIGNyb3NzLWRvbWFpbiByZXF1
ZXN0cy4KLSAgICBpZiAobV9jaGVja1JlZGlyZWN0T3JpZ2luICYmICFtX2RvY3VtZW50LT5zZWN1
cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHJlcXVlc3QudXJsKCkpKSB7CisgICAgaWYgKG1fZGVu
eUNyb3NzT3JpZ2luUmVkaXJlY3QgJiYgIW1fZG9jdW1lbnQtPnNlY3VyaXR5T3JpZ2luKCktPmNh
blJlcXVlc3QocmVxdWVzdC51cmwoKSkpIHsKICAgICAgICAgUmVmUHRyPERvY3VtZW50VGhyZWFk
YWJsZUxvYWRlcj4gcHJvdGVjdCh0aGlzKTsKICAgICAgICAgbV9jbGllbnQtPmRpZEZhaWxSZWRp
cmVjdENoZWNrKCk7CiAgICAgICAgIHJlcXVlc3QgPSBSZXNvdXJjZVJlcXVlc3QoKTsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50VGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKaW5kZXggMDc5YzcyNS4uNDY1NDc1
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgK
KysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRUaHJlYWRhYmxlTG9hZGVyLmgKQEAgLTQ1LDcg
KzQ1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIERvY3VtZW50VGhyZWFkYWJs
ZUxvYWRlciA6IHB1YmxpYyBSZWZDb3VudGVkPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4sIHB1
YmxpYyBUaHJlYWRhYmxlTG9hZGVyLCBwcml2YXRlIFN1YnJlc291cmNlTG9hZGVyQ2xpZW50ICB7
CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KERvY3VtZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhyZWFkYWJsZUxvYWRlckNs
aWVudCYsIFN0b3JlZENyZWRlbnRpYWxzKTsKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8RG9j
dW1lbnRUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVy
Q2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgTG9hZENhbGxiYWNrcywgQ29udGVudFNu
aWZmLCBTdG9yZWRDcmVkZW50aWFscywgUmVkaXJlY3RPcmlnaW5DaGVjayk7CisgICAgICAgIHN0
YXRpYyBQYXNzUmVmUHRyPERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKERvY3VtZW50
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIExvYWRD
YWxsYmFja3MsIENvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2luUmVk
aXJlY3RQb2xpY3kpOwogICAgICAgICB2aXJ0dWFsIH5Eb2N1bWVudFRocmVhZGFibGVMb2FkZXIo
KTsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsKCk7CkBAIC01OCw3ICs1OCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIGRlcmVmVGhyZWFkYWJsZUxv
YWRlcigpIHsgZGVyZWYoKTsgfQogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgRG9jdW1lbnRUaHJl
YWRhYmxlTG9hZGVyKERvY3VtZW50KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFJl
c291cmNlUmVxdWVzdCYsIExvYWRDYWxsYmFja3MsIENvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVu
dGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2spOworICAgICAgICBEb2N1bWVudFRocmVhZGFibGVM
b2FkZXIoRG9jdW1lbnQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiwgTG9hZENhbGxiYWNrcywgQ29udGVudFNuaWZmLCBTdG9yZWRDcmVkZW50aWFscywg
Q3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCB3aWxsU2Vu
ZFJlcXVlc3QoU3VicmVzb3VyY2VMb2FkZXIqLCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZWRpcmVjdFJlc3BvbnNlKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRp
ZFNlbmREYXRhKFN1YnJlc291cmNlTG9hZGVyKiwgdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2Vu
dCwgdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiAKQEAgLTc2LDcgKzc2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBEb2N1bWVudCogbV9kb2N1bWVudDsK
ICAgICAgICAgYm9vbCBtX2FsbG93U3RvcmVkQ3JlZGVudGlhbHM7CiAgICAgICAgIGJvb2wgbV9z
YW1lT3JpZ2luUmVxdWVzdDsKLSAgICAgICAgYm9vbCBtX2NoZWNrUmVkaXJlY3RPcmlnaW47Cisg
ICAgICAgIGJvb2wgbV9kZW55Q3Jvc3NPcmlnaW5SZWRpcmVjdDsKICAgICB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9UaHJlYWRhYmxlTG9h
ZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCmluZGV4IDdiOWM2
YzYuLmIxNzRhZjcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIu
Y3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuY3BwCkBAIC00MCwxOCAr
NDAsMTggQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1QYXNzUmVmUHRyPFRocmVhZGFibGVM
b2FkZXI+IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBj
b250ZXh0LCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgTG9hZENhbGxiYWNrcyBjYWxsYmFja3NTZXR0aW5nLCBDb250ZW50U25p
ZmYgY29udGVudFNuaWZmLCBTdG9yZWRDcmVkZW50aWFscyBzdG9yZWRDcmVkZW50aWFscywgUmVk
aXJlY3RPcmlnaW5DaGVjayByZWRpcmVjdE9yaWdpbkNoZWNrKSAKK1Bhc3NSZWZQdHI8VGhyZWFk
YWJsZUxvYWRlcj4gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgUmVzb3Vy
Y2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRl
bnRTbmlmZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxz
LCBDcm9zc09yaWdpblJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpIAog
ewogICAgIEFTU0VSVChjbGllbnQpOwogICAgIEFTU0VSVChjb250ZXh0KTsKIAogI2lmIEVOQUJM
RShXT1JLRVJTKQogICAgIGlmIChjb250ZXh0LT5pc1dvcmtlckNvbnRleHQoKSkKLSAgICAgICAg
cmV0dXJuIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxXb3JrZXJD
b250ZXh0Kj4oY29udGV4dCksIGNsaWVudCwgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwg
cmVxdWVzdCwgY2FsbGJhY2tzU2V0dGluZywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFs
cywgcmVkaXJlY3RPcmlnaW5DaGVjayk7CisgICAgICAgIHJldHVybiBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KGNvbnRleHQpLCBjbGll
bnQsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRp
bmcsIGNvbnRlbnRTbmlmZiwgc3RvcmVkQ3JlZGVudGlhbHMsIGNyb3NzT3JpZ2luUmVkaXJlY3RQ
b2xpY3kpOwogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQogCiAgICAgQVNTRVJUKGNvbnRleHQt
PmlzRG9jdW1lbnQoKSk7Ci0gICAgcmV0dXJuIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3Jl
YXRlKHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIGNsaWVudCwgcmVxdWVzdCwgY2Fs
bGJhY2tzU2V0dGluZywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFscywgcmVkaXJlY3RP
cmlnaW5DaGVjayk7CisgICAgcmV0dXJuIERvY3VtZW50VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRl
KHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCksIGNsaWVudCwgcmVxdWVzdCwgY2FsbGJh
Y2tzU2V0dGluZywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5S
ZWRpcmVjdFBvbGljeSk7CiB9CiAKIHZvaWQgVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNl
U3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgU3Rv
cmVkQ3JlZGVudGlhbHMgc3RvcmVkQ3JlZGVudGlhbHMpCkBAIC02MCw3ICs2MCw3IEBAIHZvaWQg
VGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiBjb250ZXh0CiAKICNpZiBFTkFCTEUoV09SS0VSUykKICAgICBpZiAoY29udGV4
dC0+aXNXb3JrZXJDb250ZXh0KCkpIHsKLSAgICAgICAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6
bG9hZFJlc291cmNlU3luY2hyb25vdXNseShzdGF0aWNfY2FzdDxXb3JrZXJDb250ZXh0Kj4oY29u
dGV4dCksIHJlcXVlc3QsIGNsaWVudCwgc3RvcmVkQ3JlZGVudGlhbHMsIFJlcXVpcmVTYW1lUmVk
aXJlY3RPcmlnaW4pOworICAgICAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3Vy
Y2VTeW5jaHJvbm91c2x5KHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihjb250ZXh0KSwgcmVx
dWVzdCwgY2xpZW50LCBzdG9yZWRDcmVkZW50aWFscywgRGVueUNyb3NzT3JpZ2luUmVkaXJlY3Qp
OwogICAgICAgICByZXR1cm47CiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShXT1JLRVJTKQpkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvVGhyZWFkYWJsZUxvYWRlci5oIGIvV2ViQ29yZS9sb2Fk
ZXIvVGhyZWFkYWJsZUxvYWRlci5oCmluZGV4IDBhNGM0ZTMuLjg3YWUyMjkgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvbG9hZGVyL1RocmVhZGFibGVMb2FkZXIuaAorKysgYi9XZWJDb3JlL2xvYWRlci9U
aHJlYWRhYmxlTG9hZGVyLmgKQEAgLTU4LDkgKzU4LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBEb05vdEFsbG93U3RvcmVkQ3JlZGVudGlhbHMKICAgICB9OwogCi0gICAgZW51bSBS
ZWRpcmVjdE9yaWdpbkNoZWNrIHsKLSAgICAgICAgUmVxdWlyZVNhbWVSZWRpcmVjdE9yaWdpbiwK
LSAgICAgICAgQWxsb3dEaWZmZXJlbnRSZWRpcmVjdE9yaWdpbgorICAgIGVudW0gQ3Jvc3NPcmln
aW5SZWRpcmVjdFBvbGljeSB7CisgICAgICAgIERlbnlDcm9zc09yaWdpblJlZGlyZWN0LAorICAg
ICAgICBBbGxvd0Nyb3NzT3JpZ2luUmVkaXJlY3QKICAgICB9OwogCiAgICAgLy8gVXNlZnVsIGZv
ciBkb2luZyBsb2FkZXIgb3BlcmF0aW9ucyBmcm9tIGFueSB0aHJlYWQgKG5vdCB0aHJlYWRzYWZl
LCAKQEAgLTY4LDcgKzY4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIFRocmVh
ZGFibGVMb2FkZXIgOiBOb25jb3B5YWJsZSB7CiAgICAgcHVibGljOgogICAgICAgICBzdGF0aWMg
dm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50JiwgU3RvcmVkQ3Jl
ZGVudGlhbHMpOwotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFRocmVhZGFibGVMb2FkZXJDbGllbnQqLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmYsIFN0b3Jl
ZENyZWRlbnRpYWxzLCBSZWRpcmVjdE9yaWdpbkNoZWNrKTsKKyAgICAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8VGhyZWFkYWJsZUxvYWRlcj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBU
aHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgTG9hZENhbGxi
YWNrcywgQ29udGVudFNuaWZmLCBTdG9yZWRDcmVkZW50aWFscywgQ3Jvc3NPcmlnaW5SZWRpcmVj
dFBvbGljeSk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGNhbmNlbCgpID0gMDsKICAgICAgICAg
dm9pZCByZWYoKSB7IHJlZlRocmVhZGFibGVMb2FkZXIoKTsgfQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvV29ya2VyVGhyZWFkYWJsZUxvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRlci9Xb3Jr
ZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAppbmRleCA4MTUzYWQ4Li40ZDEyYjhkIDEwMDY0NAotLS0g
YS9XZWJDb3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmNwcApAQCAtNTQsMTAgKzU0LDEwIEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBjb25zdCBjaGFyIGxvYWRSZXNvdXJjZVN5bmNocm9u
b3VzbHlNb2RlW10gPSAibG9hZFJlc291cmNlU3luY2hyb25vdXNseU1vZGUiOwogCiBXb3JrZXJU
aHJlYWRhYmxlTG9hZGVyOjpXb3JrZXJUaHJlYWRhYmxlTG9hZGVyKFdvcmtlckNvbnRleHQqIHdv
cmtlckNvbnRleHQsIFRocmVhZGFibGVMb2FkZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5n
JiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tz
IGNhbGxiYWNrc1NldHRpbmcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIENvbnRlbnRTbmlmZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0
b3JlZENyZWRlbnRpYWxzLCBSZWRpcmVjdE9yaWdpbkNoZWNrIHJlZGlyZWN0T3JpZ2luQ2hlY2sp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbnRlbnRT
bmlmZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxzLCBD
cm9zc09yaWdpblJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpCiAgICAg
OiBtX3dvcmtlckNvbnRleHQod29ya2VyQ29udGV4dCkKICAgICAsIG1fd29ya2VyQ2xpZW50V3Jh
cHBlcihUaHJlYWRhYmxlTG9hZGVyQ2xpZW50V3JhcHBlcjo6Y3JlYXRlKGNsaWVudCkpCi0gICAg
LCBtX2JyaWRnZSgqKG5ldyBNYWluVGhyZWFkQnJpZGdlKG1fd29ya2VyQ2xpZW50V3JhcHBlciwg
bV93b3JrZXJDb250ZXh0LT50aHJlYWQoKS0+d29ya2VyTG9hZGVyUHJveHkoKSwgdGFza01vZGUs
IHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZiwgc3RvcmVkQ3JlZGVudGlh
bHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2spKSkKKyAgICAsIG1fYnJpZGdlKCoobmV3IE1haW5UaHJl
YWRCcmlkZ2UobV93b3JrZXJDbGllbnRXcmFwcGVyLCBtX3dvcmtlckNvbnRleHQtPnRocmVhZCgp
LT53b3JrZXJMb2FkZXJQcm94eSgpLCB0YXNrTW9kZSwgcmVxdWVzdCwgY2FsbGJhY2tzU2V0dGlu
ZywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5SZWRpcmVjdFBv
bGljeSkpKQogewogfQogCkBAIC02Niw3ICs2Niw3IEBAIFdvcmtlclRocmVhZGFibGVMb2FkZXI6
On5Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyKCkKICAgICBtX2JyaWRnZS5kZXN0cm95KCk7CiB9CiAK
LXZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShX
b3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RvcmVkQ3JlZGVudGlhbHMgc3Rv
cmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2sgcmVkaXJlY3RPcmlnaW5DaGVjaykK
K3ZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6bG9hZFJlc291cmNlU3luY2hyb25vdXNseShX
b3JrZXJDb250ZXh0KiB3b3JrZXJDb250ZXh0LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVl
c3QsIFRocmVhZGFibGVMb2FkZXJDbGllbnQmIGNsaWVudCwgU3RvcmVkQ3JlZGVudGlhbHMgc3Rv
cmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kgY3Jvc3NPcmlnaW5SZWRp
cmVjdFBvbGljeSkKIHsKICAgICBXb3JrZXJSdW5Mb29wJiBydW5Mb29wID0gd29ya2VyQ29udGV4
dC0+dGhyZWFkKCktPnJ1bkxvb3AoKTsKIApAQCAtNzUsNyArNzUsNyBAQCB2b2lkIFdvcmtlclRo
cmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkoV29ya2VyQ29udGV4dCog
d29ya2VyQ29udAogICAgIG1vZGUuYXBwZW5kKFN0cmluZzo6bnVtYmVyKHJ1bkxvb3AuY3JlYXRl
VW5pcXVlSWQoKSkpOwogCiAgICAgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlmZiA9IHJlcXVlc3Qu
dXJsKCkuaXNMb2NhbEZpbGUoKSA/IFNuaWZmQ29udGVudCA6IERvTm90U25pZmZDb250ZW50Owot
ICAgIFJlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiBsb2FkZXIgPSBXb3JrZXJUaHJlYWRh
YmxlTG9hZGVyOjpjcmVhdGUod29ya2VyQ29udGV4dCwgJmNsaWVudCwgbW9kZSwgcmVxdWVzdCwg
RG9Ob3RTZW5kTG9hZENhbGxiYWNrcywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFscywg
cmVkaXJlY3RPcmlnaW5DaGVjayk7CisgICAgUmVmUHRyPFdvcmtlclRocmVhZGFibGVMb2FkZXI+
IGxvYWRlciA9IFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZSh3b3JrZXJDb250ZXh0LCAm
Y2xpZW50LCBtb2RlLCByZXF1ZXN0LCBEb05vdFNlbmRMb2FkQ2FsbGJhY2tzLCBjb250ZW50U25p
ZmYsIHN0b3JlZENyZWRlbnRpYWxzLCBjcm9zc09yaWdpblJlZGlyZWN0UG9saWN5KTsKIAogICAg
IE1lc3NhZ2VRdWV1ZVdhaXRSZXN1bHQgcmVzdWx0ID0gTWVzc2FnZVF1ZXVlTWVzc2FnZVJlY2Vp
dmVkOwogICAgIHdoaWxlICghbG9hZGVyLT5kb25lKCkgJiYgcmVzdWx0ICE9IE1lc3NhZ2VRdWV1
ZVRlcm1pbmF0ZWQpCkBAIC05MiwyMCArOTIsMjAgQEAgdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9h
ZGVyOjpjYW5jZWwoKQogCiBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhyZWFkQnJpZGdl
OjpNYWluVGhyZWFkQnJpZGdlKFBhc3NSZWZQdHI8VGhyZWFkYWJsZUxvYWRlckNsaWVudFdyYXBw
ZXI+IHdvcmtlckNsaWVudFdyYXBwZXIsIFdvcmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwg
Y29uc3QgU3RyaW5nJiB0YXNrTW9kZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0
LCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlmZiBjb250ZW50U25p
ZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxzLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWRpcmVjdE9yaWdp
bkNoZWNrIHJlZGlyZWN0T3JpZ2luQ2hlY2spCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kg
Y3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSkKICAgICA6IG1fd29ya2VyQ2xpZW50V3JhcHBlcih3
b3JrZXJDbGllbnRXcmFwcGVyKQogICAgICwgbV9sb2FkZXJQcm94eShsb2FkZXJQcm94eSkKICAg
ICAsIG1fdGFza01vZGUodGFza01vZGUuY29weSgpKQogewogICAgIEFTU0VSVChtX3dvcmtlckNs
aWVudFdyYXBwZXIuZ2V0KCkpOwotICAgIG1fbG9hZGVyUHJveHkucG9zdFRhc2tUb0xvYWRlcihj
cmVhdGVDYWxsYmFja1Rhc2soJk1haW5UaHJlYWRCcmlkZ2U6Om1haW5UaHJlYWRDcmVhdGVMb2Fk
ZXIsIHRoaXMsIHJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRlbnRTbmlmZiwgc3RvcmVk
Q3JlZGVudGlhbHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2spKTsKKyAgICBtX2xvYWRlclByb3h5LnBv
c3RUYXNrVG9Mb2FkZXIoY3JlYXRlQ2FsbGJhY2tUYXNrKCZNYWluVGhyZWFkQnJpZGdlOjptYWlu
VGhyZWFkQ3JlYXRlTG9hZGVyLCB0aGlzLCByZXF1ZXN0LCBjYWxsYmFja3NTZXR0aW5nLCBjb250
ZW50U25pZmYsIHN0b3JlZENyZWRlbnRpYWxzLCBjcm9zc09yaWdpblJlZGlyZWN0UG9saWN5KSk7
CiB9CiAKIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5UaHJlYWRCcmlkZ2U6On5NYWluVGhy
ZWFkQnJpZGdlKCkKIHsKIH0KIAotdm9pZCBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpNYWluVGhy
ZWFkQnJpZGdlOjptYWluVGhyZWFkQ3JlYXRlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIE1haW5UaHJlYWRCcmlkZ2UqIHRoaXNQdHIsIGF1dG9fcHRyPENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YT4gcmVxdWVzdERhdGEsIExvYWRDYWxsYmFja3MgY2FsbGJhY2tz
U2V0dGluZywgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMgc3Rv
cmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2sgcmVkaXJlY3RPcmlnaW5DaGVjaykK
K3ZvaWQgV29ya2VyVGhyZWFkYWJsZUxvYWRlcjo6TWFpblRocmVhZEJyaWRnZTo6bWFpblRocmVh
ZENyZWF0ZUxvYWRlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBNYWluVGhyZWFk
QnJpZGdlKiB0aGlzUHRyLCBhdXRvX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+
IHJlcXVlc3REYXRhLCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRTbmlm
ZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxzLCBDcm9z
c09yaWdpblJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpCiB7CiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQoY29udGV4dC0+aXNEb2N1bWVudCgp
KTsKQEAgLTExNyw3ICsxMTcsNyBAQCB2b2lkIFdvcmtlclRocmVhZGFibGVMb2FkZXI6Ok1haW5U
aHJlYWRCcmlkZ2U6Om1haW5UaHJlYWRDcmVhdGVMb2FkZXIoU2NyaXB0RXhlYwogICAgIC8vIEZJ
WE1FOiBJZiB0aGUgYSBzaXRlIHJlcXVlc3RzIGEgbG9jYWwgcmVzb3VyY2UsIHRoZW4gdGhpcyB3
aWxsIHJldHVybiBhIG5vbi16ZXJvIHZhbHVlIGJ1dCB0aGUgc3luYyBwYXRoCiAgICAgLy8gd2ls
bCByZXR1cm4gYSAwIHZhbHVlLiAgRWl0aGVyIHRoaXMgc2hvdWxkIHJldHVybiAwIG9yIHRoZSBv
dGhlciBjb2RlIHBhdGggc2hvdWxkIGRvIGEgY2FsbGJhY2sgd2l0aAogICAgIC8vIGEgZmFpbHVy
ZS4KLSAgICB0aGlzUHRyLT5tX21haW5UaHJlYWRMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpj
cmVhdGUoY29udGV4dCwgdGhpc1B0ciwgKnJlcXVlc3QsIGNhbGxiYWNrc1NldHRpbmcsIGNvbnRl
bnRTbmlmZiwgc3RvcmVkQ3JlZGVudGlhbHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2spOworICAgIHRo
aXNQdHItPm1fbWFpblRocmVhZExvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250
ZXh0LCB0aGlzUHRyLCAqcmVxdWVzdCwgY2FsbGJhY2tzU2V0dGluZywgY29udGVudFNuaWZmLCBz
dG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSk7CiAgICAgQVNTRVJU
KHRoaXNQdHItPm1fbWFpblRocmVhZExvYWRlcik7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
bG9hZGVyL1dvcmtlclRocmVhZGFibGVMb2FkZXIuaCBiL1dlYkNvcmUvbG9hZGVyL1dvcmtlclRo
cmVhZGFibGVMb2FkZXIuaAppbmRleCBhMzZiZWRmLi44YjExYjcwIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9Xb3JrZXJUaHJlYWRhYmxlTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIv
V29ya2VyVGhyZWFkYWJsZUxvYWRlci5oCkBAIC01NSwxMCArNTUsMTAgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAgICAgY2xhc3MgV29ya2VyVGhyZWFkYWJsZUxvYWRlciA6IHB1YmxpYyBSZWZD
b3VudGVkPFdvcmtlclRocmVhZGFibGVMb2FkZXI+LCBwdWJsaWMgVGhyZWFkYWJsZUxvYWRlciB7
CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgdm9pZCBsb2FkUmVzb3VyY2VTeW5jaHJvbm91
c2x5KFdvcmtlckNvbnRleHQqLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBUaHJlYWRhYmxlTG9h
ZGVyQ2xpZW50JiwgU3RvcmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2spOwotICAg
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXb3JrZXJUaHJlYWRhYmxlTG9hZGVyPiBjcmVhdGUoV29y
a2VyQ29udGV4dCogd29ya2VyQ29udGV4dCwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCogY2xpZW50
LCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IExvYWRDYWxsYmFja3MgY2FsbGJhY2tzU2V0dGluZywgQ29udGVudFNuaWZmIGNvbnRlbnRTbmlm
ZiwgU3RvcmVkQ3JlZGVudGlhbHMgc3RvcmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hl
Y2sgcmVkaXJlY3RPcmlnaW5DaGVjaykKKyAgICAgICAgc3RhdGljIHZvaWQgbG9hZFJlc291cmNl
U3luY2hyb25vdXNseShXb3JrZXJDb250ZXh0KiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCYsIFN0b3JlZENyZWRlbnRpYWxzLCBDcm9zc09yaWdpblJlZGly
ZWN0UG9saWN5KTsKKyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2VyVGhyZWFkYWJsZUxv
YWRlcj4gY3JlYXRlKFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQsIFRocmVhZGFibGVMb2Fk
ZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JiByZXF1ZXN0LCBMb2FkQ2FsbGJhY2tzIGNhbGxiYWNrc1NldHRpbmcsIENvbnRlbnRT
bmlmZiBjb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzIHN0b3JlZENyZWRlbnRpYWxzLCBD
cm9zc09yaWdpblJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgV29ya2VyVGhyZWFkYWJsZUxv
YWRlcih3b3JrZXJDb250ZXh0LCBjbGllbnQsIHRhc2tNb2RlLCByZXF1ZXN0LCBjYWxsYmFja3NT
ZXR0aW5nLCBjb250ZW50U25pZmYsIHN0b3JlZENyZWRlbnRpYWxzLCByZWRpcmVjdE9yaWdpbkNo
ZWNrKSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFdvcmtlclRocmVhZGFibGVM
b2FkZXIod29ya2VyQ29udGV4dCwgY2xpZW50LCB0YXNrTW9kZSwgcmVxdWVzdCwgY2FsbGJhY2tz
U2V0dGluZywgY29udGVudFNuaWZmLCBzdG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5SZWRp
cmVjdFBvbGljeSkpOwogICAgICAgICB9CiAKICAgICAgICAgfldvcmtlclRocmVhZGFibGVMb2Fk
ZXIoKTsKQEAgLTk3LDcgKzk3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBjbGFz
cyBNYWluVGhyZWFkQnJpZGdlIDogVGhyZWFkYWJsZUxvYWRlckNsaWVudCB7CiAgICAgICAgIHB1
YmxpYzoKICAgICAgICAgICAgIC8vIEFsbCBleGVjdXRlZCBvbiB0aGUgd29ya2VyIGNvbnRleHQn
cyB0aHJlYWQuCi0gICAgICAgICAgICBNYWluVGhyZWFkQnJpZGdlKFBhc3NSZWZQdHI8VGhyZWFk
YWJsZUxvYWRlckNsaWVudFdyYXBwZXI+LCBXb3JrZXJMb2FkZXJQcm94eSYsIGNvbnN0IFN0cmlu
ZyYgdGFza01vZGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIExvYWRDYWxsYmFja3MsIENvbnRl
bnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2spOworICAgICAg
ICAgICAgTWFpblRocmVhZEJyaWRnZShQYXNzUmVmUHRyPFRocmVhZGFibGVMb2FkZXJDbGllbnRX
cmFwcGVyPiwgV29ya2VyTG9hZGVyUHJveHkmLCBjb25zdCBTdHJpbmcmIHRhc2tNb2RlLCBjb25z
dCBSZXNvdXJjZVJlcXVlc3QmLCBMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmYsIFN0b3JlZENy
ZWRlbnRpYWxzLCBDcm9zc09yaWdpblJlZGlyZWN0UG9saWN5KTsKICAgICAgICAgICAgIHZvaWQg
Y2FuY2VsKCk7CiAgICAgICAgICAgICB2b2lkIGRlc3Ryb3koKTsKIApAQCAtMTA5LDcgKzEwOSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgICAgIHN0YXRpYyB2b2lkIG1haW5UaHJl
YWREZXN0cm95KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNYWluVGhyZWFkQnJpZGdlKik7CiAg
ICAgICAgICAgICB+TWFpblRocmVhZEJyaWRnZSgpOwogCi0gICAgICAgICAgICBzdGF0aWMgdm9p
ZCBtYWluVGhyZWFkQ3JlYXRlTG9hZGVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBNYWluVGhy
ZWFkQnJpZGdlKiwgc3RkOjphdXRvX3B0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+
LCBMb2FkQ2FsbGJhY2tzLCBDb250ZW50U25pZmYsIFN0b3JlZENyZWRlbnRpYWxzLCBSZWRpcmVj
dE9yaWdpbkNoZWNrKTsKKyAgICAgICAgICAgIHN0YXRpYyB2b2lkIG1haW5UaHJlYWRDcmVhdGVM
b2FkZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIE1haW5UaHJlYWRCcmlkZ2UqLCBzdGQ6OmF1
dG9fcHRyPENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1ZXN0RGF0YT4sIExvYWRDYWxsYmFja3MsIENv
bnRlbnRTbmlmZiwgU3RvcmVkQ3JlZGVudGlhbHMsIENyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kp
OwogICAgICAgICAgICAgc3RhdGljIHZvaWQgbWFpblRocmVhZENhbmNlbChTY3JpcHRFeGVjdXRp
b25Db250ZXh0KiwgTWFpblRocmVhZEJyaWRnZSopOwogICAgICAgICAgICAgdmlydHVhbCB2b2lk
IGRpZFNlbmREYXRhKHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcg
bG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogICAgICAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJl
Y2VpdmVSZXNwb25zZShjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CkBAIC0xMzMsNyArMTMzLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAgICAgU3RyaW5nIG1fdGFza01vZGU7CiAg
ICAgICAgIH07CiAKLSAgICAgICAgV29ya2VyVGhyZWFkYWJsZUxvYWRlcihXb3JrZXJDb250ZXh0
KiwgVGhyZWFkYWJsZUxvYWRlckNsaWVudCosIGNvbnN0IFN0cmluZyYgdGFza01vZGUsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIExvYWRDYWxsYmFja3MsIENvbnRlbnRTbmlmZiwgU3RvcmVkQ3Jl
ZGVudGlhbHMsIFJlZGlyZWN0T3JpZ2luQ2hlY2spOworICAgICAgICBXb3JrZXJUaHJlYWRhYmxl
TG9hZGVyKFdvcmtlckNvbnRleHQqLCBUaHJlYWRhYmxlTG9hZGVyQ2xpZW50KiwgY29uc3QgU3Ry
aW5nJiB0YXNrTW9kZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgTG9hZENhbGxiYWNrcywgQ29u
dGVudFNuaWZmLCBTdG9yZWRDcmVkZW50aWFscywgQ3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSk7
CiAKICAgICAgICAgUmVmUHRyPFdvcmtlckNvbnRleHQ+IG1fd29ya2VyQ29udGV4dDsKICAgICAg
ICAgUmVmUHRyPFRocmVhZGFibGVMb2FkZXJDbGllbnRXcmFwcGVyPiBtX3dvcmtlckNsaWVudFdy
YXBwZXI7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGI0Y2VkMjguLmE4MTBkZGEgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3Bw
CkBAIC02Niw3ICs2Niw3IEBAIFdvcmtlcjo6V29ya2VyKGNvbnN0IFN0cmluZyYgdXJsLCBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlCiAgICAgfQogCiAgICAg
bV9zY3JpcHRMb2FkZXIgPSBuZXcgV29ya2VyU2NyaXB0TG9hZGVyKCk7Ci0gICAgbV9zY3JpcHRM
b2FkZXItPmxvYWRBc3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIG1fc2Ny
aXB0VVJMLCBSZXF1aXJlU2FtZVJlZGlyZWN0T3JpZ2luLCB0aGlzKTsKKyAgICBtX3NjcmlwdExv
YWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgbV9zY3Jp
cHRVUkwsIERlbnlDcm9zc09yaWdpblJlZGlyZWN0LCB0aGlzKTsKICAgICBzZXRQZW5kaW5nQWN0
aXZpdHkodGhpcyk7ICAvLyBUaGUgd29ya2VyIGNvbnRleHQgZG9lcyBub3QgZXhpc3Qgd2hpbGUg
bG9hZGluZywgc28gd2UgbXVzdCBlbnN1cmUgdGhhdCB0aGUgd29ya2VyIG9iamVjdCBpcyBub3Qg
Y29sbGVjdGVkLCBhcyB3ZWxsIGFzIGl0cyBldmVudCBsaXN0ZW5lcnMuCiB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcCBiL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJDb250ZXh0LmNwcAppbmRleCA1N2IyMTg5Li5mZDA1MDYyIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckNvbnRleHQuY3BwCkBAIC0yNzQsNyArMjc0LDcgQEAgdm9pZCBXb3JrZXJDb250ZXh0OjppbXBv
cnRTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB1cmxzLCBjb25zdCBTdHJpbmcmIGNhbGwK
IAogICAgIGZvciAoVmVjdG9yPEtVUkw+Ojpjb25zdF9pdGVyYXRvciBpdCA9IGNvbXBsZXRlZFVS
THMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7CiAgICAgICAgIFdvcmtlclNjcmlwdExvYWRl
ciBzY3JpcHRMb2FkZXI7Ci0gICAgICAgIHNjcmlwdExvYWRlci5sb2FkU3luY2hyb25vdXNseShz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCksICppdCwgQWxsb3dEaWZmZXJlbnRSZWRpcmVjdE9yaWdp
bik7CisgICAgICAgIHNjcmlwdExvYWRlci5sb2FkU3luY2hyb25vdXNseShzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCksICppdCwgQWxsb3dDcm9zc09yaWdpblJlZGlyZWN0KTsKIAogICAgICAgICAv
LyBJZiB0aGUgZmV0Y2hpbmcgYXR0ZW1wdCBmYWlsZWQsIHRocm93IGEgTkVUV09SS19FUlIgZXhj
ZXB0aW9uIGFuZCBhYm9ydCBhbGwgdGhlc2Ugc3RlcHMuCiAgICAgICAgIGlmIChzY3JpcHRMb2Fk
ZXIuZmFpbGVkKCkpIHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRM
b2FkZXIuY3BwIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXgg
NDY3OWRlZC4uODczN2I4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlw
dExvYWRlci5jcHAKKysrIGIvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAK
QEAgLTQ3LDE2ICs0NywxNiBAQCBXb3JrZXJTY3JpcHRMb2FkZXI6OldvcmtlclNjcmlwdExvYWRl
cigpCiB7CiB9CiAKLXZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkU3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBjb25zdCBTdHJp
bmcmIHVybCwgUmVkaXJlY3RPcmlnaW5DaGVjayByZWRpcmVjdE9yaWdpbkNoZWNrKQordm9pZCBX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnN0IFN0cmluZyYgdXJsLCBDcm9zc09yaWdp
blJlZGlyZWN0UG9saWN5IGNyb3NzT3JpZ2luUmVkaXJlY3RQb2xpY3kpCiB7CiAgICAgUmVzb3Vy
Y2VSZXF1ZXN0IHJlcXVlc3QodXJsKTsKICAgICByZXF1ZXN0LnNldEhUVFBNZXRob2QoIkdFVCIp
OwogCiAgICAgQVNTRVJUKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgp
KTsKLSAgICBXb3JrZXJUaHJlYWRhYmxlTG9hZGVyOjpsb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5
KHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihzY3JpcHRFeGVjdXRpb25Db250ZXh0KSwgcmVx
dWVzdCwgKnRoaXMsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2sp
OworICAgIFdvcmtlclRocmVhZGFibGVMb2FkZXI6OmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHko
c3RhdGljX2Nhc3Q8V29ya2VyQ29udGV4dCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLCByZXF1
ZXN0LCAqdGhpcywgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5SZWRpcmVjdFBv
bGljeSk7CiB9CiAgICAgCi12b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIGNvbnN0
IFN0cmluZyYgdXJsLCBSZWRpcmVjdE9yaWdpbkNoZWNrIHJlZGlyZWN0T3JpZ2luQ2hlY2ssIFdv
cmtlclNjcmlwdExvYWRlckNsaWVudCogY2xpZW50KQordm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6
OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LCBjb25zdCBTdHJpbmcmIHVybCwgQ3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSBj
cm9zc09yaWdpblJlZGlyZWN0UG9saWN5LCBXb3JrZXJTY3JpcHRMb2FkZXJDbGllbnQqIGNsaWVu
dCkKIHsKICAgICBBU1NFUlQoY2xpZW50KTsKICAgICBtX2NsaWVudCA9IGNsaWVudDsKQEAgLTY0
LDcgKzY0LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXQKICAgICBSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCh1cmwpOwogICAgIHJlcXVlc3Quc2V0SFRUUE1ldGhvZCgiR0VUIik7CiAKLSAgICBt
X3RocmVhZGFibGVMb2FkZXIgPSBUaHJlYWRhYmxlTG9hZGVyOjpjcmVhdGUoc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCwgdGhpcywgcmVxdWVzdCwgRG9Ob3RTZW5kTG9hZENhbGxiYWNrcywgRG9Ob3RT
bmlmZkNvbnRlbnQsIEFsbG93U3RvcmVkQ3JlZGVudGlhbHMsIHJlZGlyZWN0T3JpZ2luQ2hlY2sp
OworICAgIG1fdGhyZWFkYWJsZUxvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShzY3Jp
cHRFeGVjdXRpb25Db250ZXh0LCB0aGlzLCByZXF1ZXN0LCBEb05vdFNlbmRMb2FkQ2FsbGJhY2tz
LCBEb05vdFNuaWZmQ29udGVudCwgQWxsb3dTdG9yZWRDcmVkZW50aWFscywgY3Jvc3NPcmlnaW5S
ZWRpcmVjdFBvbGljeSk7CiB9CiAgICAgCiB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IDlmMmViOWMuLmUzYTk2NjMgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTQ1LDggKzQ1LDggQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogICAgIHB1YmxpYzoKICAgICAgICAgV29ya2VyU2NyaXB0TG9hZGVyKCk7CiAKLSAgICAg
ICAgdm9pZCBsb2FkU3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3Qg
U3RyaW5nJiB1cmwsIFJlZGlyZWN0T3JpZ2luQ2hlY2spOwotICAgICAgICB2b2lkIGxvYWRBc3lu
Y2hyb25vdXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgY29uc3QgU3RyaW5nJiB1cmwsIFJl
ZGlyZWN0T3JpZ2luQ2hlY2ssIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCopOworICAgICAgICB2
b2lkIGxvYWRTeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJp
bmcmIHVybCwgQ3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSk7CisgICAgICAgIHZvaWQgbG9hZEFz
eW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBjb25zdCBTdHJpbmcmIHVybCwg
Q3Jvc3NPcmlnaW5SZWRpcmVjdFBvbGljeSwgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50Kik7CiAK
ICAgICAgICAgY29uc3QgU3RyaW5nJiBzY3JpcHQoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdDsg
fQogICAgICAgICBib29sIGZhaWxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fZmFpbGVkOyB9CmRpZmYg
LS1naXQgYS9XZWJDb3JlL3htbC9YTUxIdHRwUmVxdWVzdC5jcHAgYi9XZWJDb3JlL3htbC9YTUxI
dHRwUmVxdWVzdC5jcHAKaW5kZXggNzZlZTA0OC4uNTljYWNiZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS94bWwvWE1MSHR0cFJlcXVlc3QuY3BwCisrKyBiL1dlYkNvcmUveG1sL1hNTEh0dHBSZXF1ZXN0
LmNwcApAQCAtNjc0LDcgKzY3NCw3IEBAIHZvaWQgWE1MSHR0cFJlcXVlc3Q6OmxvYWRSZXF1ZXN0
QXN5bmNocm9ub3VzbHkoUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIGlmIChtX3VwbG9h
ZCkKICAgICAgICAgcmVxdWVzdC5zZXRSZXBvcnRVcGxvYWRQcm9ncmVzcyh0cnVlKTsKIAotICAg
IG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSwgdGhpcywgcmVxdWVzdCwgY2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgc3RvcmVk
Q3JlZGVudGlhbHMsIFJlcXVpcmVTYW1lUmVkaXJlY3RPcmlnaW4pOworICAgIG1fbG9hZGVyID0g
VGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywg
cmVxdWVzdCwgY2FsbGJhY2tzLCBEb05vdFNuaWZmQ29udGVudCwgc3RvcmVkQ3JlZGVudGlhbHMs
IERlbnlDcm9zc09yaWdpblJlZGlyZWN0KTsKIAogICAgIGlmIChtX2xvYWRlcikgewogICAgICAg
ICAvLyBOZWl0aGVyIHRoaXMgb2JqZWN0IG5vciB0aGUgSmF2YVNjcmlwdCB3cmFwcGVyIHNob3Vs
ZCBiZSBkZWxldGVkIHdoaWxlCg==
</data>
<flag name="review"
          id="16036"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>