<?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>192277</bug_id>
          
          <creation_ts>2018-12-01 10:52:02 -0800</creation_ts>
          <short_desc>[PSON] process-swapping may occur even though opener has handle to openee</short_desc>
          <delta_ts>2018-12-01 14:41:33 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1483999</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-01 10:52:02 -0800</bug_when>
    <thetext>Process-swapping may occur even though opener has handle to openee, which is not Web-compatible. The reason is that we rely on the window not having an opener to process-swap. However, the opener can be disowned, which does not mean that the opener doesn&apos;t still have a handle to its openee.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484000</commentid>
    <comment_count>1</comment_count>
      <attachid>356315</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-12-01 11:01:34 -0800</bug_when>
    <thetext>Created attachment 356315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484001</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-12-01 11:03:21 -0800</bug_when>
    <thetext>Attachment 356315 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2980:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:2988:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 2 in 14 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484045</commentid>
    <comment_count>3</comment_count>
      <attachid>356315</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-01 14:40:16 -0800</bug_when>
    <thetext>Comment on attachment 356315
Patch

Clearing flags on attachment: 356315

Committed r238787: &lt;https://trac.webkit.org/changeset/238787&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484046</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-12-01 14:40:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1484047</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-12-01 14:41:33 -0800</bug_when>
    <thetext>&lt;rdar://problem/46398357&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356315</attachid>
            <date>2018-12-01 11:01:34 -0800</date>
            <delta_ts>2018-12-01 14:40:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192277-20181201110130.patch</filename>
            <type>text/plain</type>
            <size>23594</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzU2ZWU0MjY1YjBmNWY5
NmI3MzJhMTIxYTg3Yjg4ZDdmZWZkYmRiMS4uNjA4ODUzZTEzNTNlMDA3OTE5YmI3YzY3MjI0MTMz
Yzk1ODc2NTlmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE4LTEyLTAxICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1BTT05dIHByb2Nlc3Mtc3dh
cHBpbmcgbWF5IG9jY3VyIGV2ZW4gdGhvdWdoIG9wZW5lciBoYXMgaGFuZGxlIHRvIG9wZW5lZQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMjc3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUHJvY2Vzcy1z
d2FwcGluZyBtYXkgb2NjdXIgZXZlbiB0aG91Z2ggb3BlbmVyIGhhcyBoYW5kbGUgdG8gb3BlbmVl
LCB3aGljaCBpcyBub3QgV2ViLWNvbXBhdGlibGUuIFRoZSByZWFzb24KKyAgICAgICAgaXMgdGhh
dCB3ZSByZWx5IG9uIHRoZSB3aW5kb3cgbm90IGhhdmluZyBhbiBvcGVuZXIgdG8gcHJvY2Vzcy1z
d2FwLiBIb3dldmVyLCB0aGUgb3BlbmVyIGNhbiBiZSBkaXNvd25lZCwKKyAgICAgICAgd2hpY2gg
ZG9lcyBub3QgbWVhbiB0aGF0IHRoZSBvcGVuZXIgZG9lc24ndCBzdGlsbCBoYXZlIGEgaGFuZGxl
IHRvIGl0cyBvcGVuZWUuCisKKyAgICAgICAgVG8gYWRkcmVzcyB0aGUgaXNzdWU6CisgICAgICAg
IC0gUmVuYW1lZCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciBmbGFnIHRvIG9wZW5lZEJ5
RE9NV2l0aE9wZW5lcgorICAgICAgICAtIE1ha2Ugc3VyZSB0aGlzIGZsYWcgZ2V0cyBzZXQgaWYg
YW4gb3BlbmVyIGhhdmUgZXZlciBiZWVuIHNldCBmb3IgdGhlIGJyb3dzaW5nIGNvbnRleHQKKyAg
ICAgICAgLSBEbyBub3QgcHJvY2Vzcy1zd2FwIGlmIHRoaXMgZmxhZyBpcyBzZXQKKyAgICAgICAg
LSBEcm9wIG9wZW5lciBmcm9tIE5hdmlnYXRpb25BY3Rpb24gc2luY2UgaXQgZG9lcyBub3QgcHJv
dmlkZSBtZWFuaW5nZnVsIGluZm9ybWF0aW9uIHRvIGRlY2lkZSB3aGV0aGVyCisgICAgICAgICAg
dG8gcHJvY2Vzcy1zd2FwIG9yIG5vdC4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2V0T3BlbmVyKToKKyAgICAgICAg
KiBsb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TmF2aWdhdGlv
bkFjdGlvbjo6b3BlbmVkQnlET01XaXRoT3BlbmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
Ok5hdmlnYXRpb25BY3Rpb246OnNldE9wZW5lZEJ5RE9NV2l0aE9wZW5lcik6CisgICAgICAgIChX
ZWJDb3JlOjpOYXZpZ2F0aW9uQWN0aW9uOjpzZXRPcGVuZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TmF2aWdhdGlvbkFjdGlvbjo6b3BlbmVyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246Om9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3Bl
bmVyIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRpb25BY3Rpb246
OnNldE9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBs
b2FkZXIvUG9saWN5Q2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQb2xpY3lDaGVja2Vy
OjpjaGVja05hdmlnYXRpb25Qb2xpY3kpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6Y3JlYXRlV2luZG93KToKKyAgICAgICAgKiBw
YWdlL1BhZ2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OlBhZ2U6Om9wZW5lZEJ5RE9NV2l0aE9wZW5l
ciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpQYWdlOjpzZXRPcGVuZWRCeURPTVdpdGhPcGVu
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6UGFnZTo6c2V0T3BlbmVkVmlh
V2luZG93T3BlbldpdGhPcGVuZXIpOiBEZWxldGVkLgorCiAyMDE4LTEyLTAxICBaYWxhbiBCdWp0
YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW0xGQ11bQkZDXSBDYWxsIGluc3RyaW5z
aWNXaWR0aENvbnN0cmFpbnRzIG9uIHRoZSBjb3JyZWN0IGZvcm1hdHRpbmcgc3RhdGUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CmluZGV4IGZiY2ZkOGIwYzA2MjIwYWM4MWQ2ZGM1N2ZlYjNkNzczODgxN2E2MzcuLjgyZjIzMzZm
MWVlNTc1ZjM1NDY4NjliMDgwYjkwY2UxODc2ZGEwMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTgtMTItMDEgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAg
ICBbUFNPTl0gcHJvY2Vzcy1zd2FwcGluZyBtYXkgb2NjdXIgZXZlbiB0aG91Z2ggb3BlbmVyIGhh
cyBoYW5kbGUgdG8gb3BlbmVlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTIyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFNoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5hdmlnYXRpb25BY3Rpb25EYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2Vi
S2l0OjpOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvTmF2
aWdhdGlvbkFjdGlvbkRhdGEuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRp
b24uaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6b3BlbmVkQnlET01XaXRoT3BlbmVyIGNv
bnN0KToKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbjo6b3BlbmVkVmlhV2luZG93T3BlbldpdGhP
cGVuZXIgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAoQVBJOjpOYXZpZ2F0aW9uOjpvcGVuZXIg
Y29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwcm9jZXNzRm9yTmF2aWdhdGlvbklu
dGVybmFsKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRp
c3BhdGNoRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbik6CisKIDIwMTgtMTEtMzAgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBGaXgg
V2luZG93cyBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxv
YWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCmluZGV4IDBk
MjU1NTQyMzVkYTM1YzA2OGE1YzhjMGM0ODJmMWEyMDY4MTE3NmEuLjJmMWYyZmQyZGVhMDU3ZjZl
ZDM5YjgyOTdiOTIwMzFiOTNkMGU3YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9GcmFtZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcApAQCAtMTA0OCw4ICsxMDQ4LDExIEBAIHZvaWQgRnJhbWVMb2FkZXI6OnNldE9wZW5lcihG
cmFtZSogb3BlbmVyKQogICAgICAgICBhdXRvJiBvcGVuZXJGcmFtZUxvYWRlciA9IG1fb3BlbmVy
ID09ICZtX2ZyYW1lID8gKnRoaXMgOiBtX29wZW5lci0+bG9hZGVyKCk7CiAgICAgICAgIG9wZW5l
ckZyYW1lTG9hZGVyLm1fb3BlbmVkRnJhbWVzLnJlbW92ZSgmbV9mcmFtZSk7CiAgICAgfQotICAg
IGlmIChvcGVuZXIpCisgICAgaWYgKG9wZW5lcikgewogICAgICAgICBvcGVuZXItPmxvYWRlcigp
Lm1fb3BlbmVkRnJhbWVzLmFkZCgmbV9mcmFtZSk7CisgICAgICAgIGlmIChhdXRvKiBwYWdlID0g
bV9mcmFtZS5wYWdlKCkpCisgICAgICAgICAgICBwYWdlLT5zZXRPcGVuZWRCeURPTVdpdGhPcGVu
ZXIoKTsKKyAgICB9CiAgICAgbV9vcGVuZXIgPSBvcGVuZXI7CiAKICAgICBpZiAobV9mcmFtZS5k
b2N1bWVudCgpKQpAQCAtMTQ3OCwxMyArMTQ4MSw2IEBAIHZvaWQgRnJhbWVMb2FkZXI6OmxvYWRX
aXRoTmF2aWdhdGlvbkFjdGlvbihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIE5hdmln
CiAgICAgaWYgKGxvY2tIaXN0b3J5ID09IExvY2tIaXN0b3J5OjpZZXMgJiYgbV9kb2N1bWVudExv
YWRlcikKICAgICAgICAgbG9hZGVyLT5zZXRDbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rvcnko
bV9kb2N1bWVudExvYWRlci0+ZGlkQ3JlYXRlR2xvYmFsSGlzdG9yeUVudHJ5KCkgPyBtX2RvY3Vt
ZW50TG9hZGVyLT51cmxGb3JIaXN0b3J5KCkuc3RyaW5nKCkgOiBtX2RvY3VtZW50TG9hZGVyLT5j
bGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3RvcnkoKSk7CiAKLSAgICBpZiAoYXV0byogb3BlbmVy
ID0gdGhpcy0+b3BlbmVyKCkpIHsKLSAgICAgICAgYXV0byBwYWdlSUQgPSBvcGVuZXItPmxvYWRl
cigpLmNsaWVudCgpLnBhZ2VJRCgpOwotICAgICAgICBhdXRvIGZyYW1lSUQgPSBvcGVuZXItPmxv
YWRlcigpLmNsaWVudCgpLmZyYW1lSUQoKTsKLSAgICAgICAgaWYgKHBhZ2VJRCAmJiBmcmFtZUlE
KQotICAgICAgICAgICAgYWN0aW9uLnNldE9wZW5lcihzdGQ6Om1ha2VfcGFpcigqcGFnZUlELCAq
ZnJhbWVJRCkpOwotICAgIH0KLQogICAgIGxvYWRlci0+c2V0VHJpZ2dlcmluZ0FjdGlvbihXVEZN
b3ZlKGFjdGlvbikpOwogICAgIGlmIChtX2RvY3VtZW50TG9hZGVyKQogICAgICAgICBsb2FkZXIt
PnNldE92ZXJyaWRlRW5jb2RpbmcobV9kb2N1bWVudExvYWRlci0+b3ZlcnJpZGVFbmNvZGluZygp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZpZ2F0aW9uQWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvTmF2aWdhdGlvbkFjdGlvbi5oCmluZGV4IDM5YzU2NGUw
ZDc3MmMxZjgyYjExZTM5MDZiMDY2ODYyYmRjZWI4MzkuLjFlNjM2YWM3NGI1MGQ5MGZkOThhY2U0
MDY2MjQ2ZGNlNWRkMjRmMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9OYXZp
Z2F0aW9uQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL05hdmlnYXRpb25BY3Rp
b24uaApAQCAtMTE4LDE0ICsxMTgsMTEgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cmVhdEFzU2Ft
ZU9yaWdpbk5hdmlnYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3RyZWF0QXNTYW1lT3JpZ2luTmF2
aWdhdGlvbjsgfQogCi0gICAgdm9pZCBzZXRPcGVuZXIoc3RkOjpvcHRpb25hbDxQYWdlSURBbmRG
cmFtZUlEUGFpcj4mJiBvcGVuZXIpIHsgbV9vcGVuZXIgPSBXVEZNb3ZlKG9wZW5lcik7IH0KLSAg
ICBjb25zdCBzdGQ6Om9wdGlvbmFsPFBhZ2VJREFuZEZyYW1lSURQYWlyPiYgb3BlbmVyKCkgY29u
c3QgeyByZXR1cm4gbV9vcGVuZXI7IH0KLQogICAgIGJvb2wgaGFzT3BlbmVkRnJhbWVzKCkgY29u
c3QgeyByZXR1cm4gbV9oYXNPcGVuZWRGcmFtZXM7IH0KICAgICB2b2lkIHNldEhhc09wZW5lZEZy
YW1lcyhib29sIHZhbHVlKSB7IG1faGFzT3BlbmVkRnJhbWVzID0gdmFsdWU7IH0KIAotICAgIGJv
b2wgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIoKSBjb25zdCB7IHJldHVybiBtX29wZW5l
ZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOyB9Ci0gICAgdm9pZCBzZXRPcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lcigpIHsgbV9vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lciA9IHRydWU7
IH0KKyAgICBib29sIG9wZW5lZEJ5RE9NV2l0aE9wZW5lcigpIGNvbnN0IHsgcmV0dXJuIG1fb3Bl
bmVkQnlET01XaXRoT3BlbmVyOyB9CisgICAgdm9pZCBzZXRPcGVuZWRCeURPTVdpdGhPcGVuZXIo
KSB7IG1fb3BlbmVkQnlET01XaXRoT3BlbmVyID0gdHJ1ZTsgfQogCiAgICAgdm9pZCBzZXRUYXJn
ZXRCYWNrRm9yd2FyZEl0ZW0oSGlzdG9yeUl0ZW0mKTsKICAgICBjb25zdCBzdGQ6Om9wdGlvbmFs
PEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI+JiB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV90YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOyB9
CkBAIC0xNTAsOCArMTQ3LDcgQEAgcHJpdmF0ZToKICAgICBBdG9taWNTdHJpbmcgbV9kb3dubG9h
ZEF0dHJpYnV0ZTsKICAgICBib29sIG1fdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uOwogICAg
IGJvb2wgbV9oYXNPcGVuZWRGcmFtZXMgeyBmYWxzZSB9OwotICAgIGJvb2wgbV9vcGVuZWRWaWFX
aW5kb3dPcGVuV2l0aE9wZW5lciB7IGZhbHNlIH07Ci0gICAgc3RkOjpvcHRpb25hbDxQYWdlSURB
bmRGcmFtZUlEUGFpcj4gbV9vcGVuZXI7CisgICAgYm9vbCBtX29wZW5lZEJ5RE9NV2l0aE9wZW5l
ciB7IGZhbHNlIH07CiAgICAgc3RkOjpvcHRpb25hbDxCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVy
PiBtX3RhcmdldEJhY2tGb3J3YXJkSXRlbUlkZW50aWZpZXI7CiAgICAgTG9ja0hpc3RvcnkgbV9s
b2NrSGlzdG9yeSB7IExvY2tIaXN0b3J5OjpObyB9OwogICAgIExvY2tCYWNrRm9yd2FyZExpc3Qg
bV9sb2NrQmFja0ZvcndhcmRMaXN0IHsgTG9ja0JhY2tGb3J3YXJkTGlzdDo6Tm8gfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9Qb2xpY3lDaGVja2VyLmNwcAppbmRleCA1NzU5ZmVlZDIzZjYzMzNiNTJl
NWNkZWYzOWRmZWMyMjg1NzcyYTNkLi5iOWYyYzUzOTkzZWUxM2U5YzU5MzAxZGRkMTMxZDczNTkw
YzQ0NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvUG9saWN5Q2hlY2tlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL1BvbGljeUNoZWNrZXIuY3BwCkBAIC0xMDYs
OCArMTA2LDggQEAgdm9pZCBQb2xpY3lDaGVja2VyOjpjaGVja05hdmlnYXRpb25Qb2xpY3koUmVz
b3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgY29uc3QgUmVzb3UKICAgICAgICAgbG9hZGVyLT5zZXRU
cmlnZ2VyaW5nQWN0aW9uKE5hdmlnYXRpb25BY3Rpb24geyBhY3Rpb24gfSk7CiAgICAgfQogCi0g
ICAgaWYgKG1fZnJhbWUucGFnZSgpICYmIG1fZnJhbWUucGFnZSgpLT5vcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lcigpKQotICAgICAgICBhY3Rpb24uc2V0T3BlbmVkVmlhV2luZG93T3Blbldp
dGhPcGVuZXIoKTsKKyAgICBpZiAobV9mcmFtZS5wYWdlKCkgJiYgbV9mcmFtZS5wYWdlKCktPm9w
ZW5lZEJ5RE9NV2l0aE9wZW5lcigpKQorICAgICAgICBhY3Rpb24uc2V0T3BlbmVkQnlET01XaXRo
T3BlbmVyKCk7CiAgICAgYWN0aW9uLnNldEhhc09wZW5lZEZyYW1lcyhtX2ZyYW1lLmxvYWRlcigp
Lmhhc09wZW5lZEZyYW1lcygpKTsKIAogICAgIC8vIERvbid0IGFzayBtb3JlIHRoYW4gb25jZSBm
b3IgdGhlIHNhbWUgcmVxdWVzdCBvciBpZiB3ZSBhcmUgbG9hZGluZyBhbiBlbXB0eSBVUkwuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggMTFjMjc2OWI2YTc5NTNkYjcxNDllZDM1OTAx
Y2ZmNjc5OThlY2Q3NS4uOWVkNDEwMWEyYWY5OTUyMjI2YjA2NmQ3MmM1NWE1NzA3ZDg3MDhhYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMjIzNywxMCArMjIzNyw5IEBAIEV4Y2Vw
dGlvbk9yPFJlZlB0cjxGcmFtZT4+IERPTVdpbmRvdzo6Y3JlYXRlV2luZG93KGNvbnN0IFN0cmlu
ZyYgdXJsU3RyaW5nLCBjb25zCiAgICAgaWYgKCFuZXdGcmFtZSkKICAgICAgICAgcmV0dXJuIFJl
ZlB0cjxGcmFtZT4geyBudWxscHRyIH07CiAKLSAgICBpZiAoIXdpbmRvd0ZlYXR1cmVzLm5vb3Bl
bmVyKSB7CisgICAgaWYgKCF3aW5kb3dGZWF0dXJlcy5ub29wZW5lcikKICAgICAgICAgbmV3RnJh
bWUtPmxvYWRlcigpLnNldE9wZW5lcigmb3BlbmVyRnJhbWUpOwotICAgICAgICBuZXdGcmFtZS0+
cGFnZSgpLT5zZXRPcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpOwotICAgIH0KKwogICAg
IGlmIChjcmVhdGVkKQogICAgICAgICBuZXdGcmFtZS0+cGFnZSgpLT5zZXRPcGVuZWRCeURPTSgp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZS5oCmluZGV4IGNiMmUzOGYzMjg5YWI2ODcxNzc1YTBjZmFhYjdjMjkyMTNk
ZjM4ZmQuLjQxMTQ4N2Y4Mzc1ZWZiZTc5ZDI4YWUxZDMyNDQ3ODM4OTFmNTgwYzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZS5oCkBAIC0yMDIsOCArMjAyLDggQEAgcHVibGljOgogICAgIGJvb2wgb3BlbmVkQnlET00o
KSBjb25zdDsKICAgICB2b2lkIHNldE9wZW5lZEJ5RE9NKCk7CiAKLSAgICBib29sIG9wZW5lZFZp
YVdpbmRvd09wZW5XaXRoT3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9vcGVuZWRWaWFXaW5kb3dP
cGVuV2l0aE9wZW5lcjsgfQotICAgIHZvaWQgc2V0T3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXIoKSB7IG1fb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIgPSB0cnVlOyB9CisgICAgYm9v
bCBvcGVuZWRCeURPTVdpdGhPcGVuZXIoKSBjb25zdCB7IHJldHVybiBtX29wZW5lZEJ5RE9NV2l0
aE9wZW5lcjsgfQorICAgIHZvaWQgc2V0T3BlbmVkQnlET01XaXRoT3BlbmVyKCkgeyBtX29wZW5l
ZEJ5RE9NV2l0aE9wZW5lciA9IHRydWU7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZ29U
b0l0ZW0oSGlzdG9yeUl0ZW0mLCBGcmFtZUxvYWRUeXBlLCBTaG91bGRUcmVhdEFzQ29udGludWlu
Z0xvYWQpOwogCkBAIC03NjYsNyArNzY2LDcgQEAgcHJpdmF0ZToKICAgICBpbnQgbV9zdWJmcmFt
ZUNvdW50IHsgMCB9OwogICAgIFN0cmluZyBtX2dyb3VwTmFtZTsKICAgICBib29sIG1fb3BlbmVk
QnlET00geyBmYWxzZSB9OwotICAgIGJvb2wgbV9vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5l
ciB7IGZhbHNlIH07CisgICAgYm9vbCBtX29wZW5lZEJ5RE9NV2l0aE9wZW5lciB7IGZhbHNlIH07
CiAKICAgICBib29sIG1fdGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzIHsgdHJ1ZSB9OwogICAg
IGJvb2wgbV9kZWZlcnNMb2FkaW5nIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L05hdmlnYXRpb25BY3Rpb25EYXRhLmNwcAppbmRleCAzODcyMmU5N2UyZWExNGMzMjQ1MjYxNDNh
MTZkYWRhMjcyY2MwNDEyLi42NzIwNTllNDVhNmM3NTE2OTUxZTZiYjYzZWI5MjRlNGI0ZmJkYzM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEuY3BwCkBA
IC00Nyw4ICs0Nyw3IEBAIHZvaWQgTmF2aWdhdGlvbkFjdGlvbkRhdGE6OmVuY29kZShJUEM6OkVu
Y29kZXImIGVuY29kZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBpc1JlZGlyZWN0OwogICAgIGVu
Y29kZXIgPDwgdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uOwogICAgIGVuY29kZXIgPDwgaGFz
T3BlbmVkRnJhbWVzOwotICAgIGVuY29kZXIgPDwgb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVu
ZXI7Ci0gICAgZW5jb2RlciA8PCBvcGVuZXI7CisgICAgZW5jb2RlciA8PCBvcGVuZWRCeURPTVdp
dGhPcGVuZXI7CiAgICAgZW5jb2RlciA8PCByZXF1ZXN0ZXJPcmlnaW47CiAgICAgZW5jb2RlciA8
PCB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOwogICAgIGVuY29kZXIuZW5jb2RlRW51
bShsb2NrSGlzdG9yeSk7CkBAIC0xMTIsMTkgKzExMSwxNCBAQCBzdGQ6Om9wdGlvbmFsPE5hdmln
YXRpb25BY3Rpb25EYXRhPiBOYXZpZ2F0aW9uQWN0aW9uRGF0YTo6ZGVjb2RlKElQQzo6RGVjb2Rl
ciYgZAogICAgIGlmICghaGFzT3BlbmVkRnJhbWVzKQogICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OwogCi0gICAgc3RkOjpvcHRpb25hbDxib29sPiBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9w
ZW5lcjsKLSAgICBkZWNvZGVyID4+IG9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyOwotICAg
IGlmICghb3BlbmVkVmlhV2luZG93T3BlbldpdGhPcGVuZXIpCi0gICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7Ci0KLSAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPHVp
bnQ2NF90LCB1aW50NjRfdD4+PiBvcGVuZXI7Ci0gICAgZGVjb2RlciA+PiBvcGVuZXI7Ci0gICAg
aWYgKCFvcGVuZXIpCisgICAgc3RkOjpvcHRpb25hbDxib29sPiBvcGVuZWRCeURPTVdpdGhPcGVu
ZXI7CisgICAgZGVjb2RlciA+PiBvcGVuZWRCeURPTVdpdGhPcGVuZXI7CisgICAgaWYgKCFvcGVu
ZWRCeURPTVdpdGhPcGVuZXIpCiAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAKICAgICBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4gcmVxdWVzdGVyT3JpZ2lu
OwogICAgIGRlY29kZXIgPj4gcmVxdWVzdGVyT3JpZ2luOwotICAgIGlmICghb3BlbmVyKQorICAg
IGlmICghcmVxdWVzdGVyT3JpZ2luKQogICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogCiAg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkJhY2tGb3J3YXJkSXRlbUlk
ZW50aWZpZXI+PiB0YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyOwpAQCAtMTQ3LDcgKzE0
MSw3IEBAIHN0ZDo6b3B0aW9uYWw8TmF2aWdhdGlvbkFjdGlvbkRhdGE+IE5hdmlnYXRpb25BY3Rp
b25EYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkCiAKICAgICByZXR1cm4ge3sgV1RGTW92ZShu
YXZpZ2F0aW9uVHlwZSksIFdURk1vdmUobW9kaWZpZXJzKSwgV1RGTW92ZShtb3VzZUJ1dHRvbiks
IFdURk1vdmUoc3ludGhldGljQ2xpY2tUeXBlKSwgV1RGTW92ZSgqdXNlckdlc3R1cmVUb2tlbklk
ZW50aWZpZXIpLAogICAgICAgICBXVEZNb3ZlKCpjYW5IYW5kbGVSZXF1ZXN0KSwgV1RGTW92ZShz
aG91bGRPcGVuRXh0ZXJuYWxVUkxzUG9saWN5KSwgV1RGTW92ZSgqZG93bmxvYWRBdHRyaWJ1dGUp
LCBXVEZNb3ZlKGNsaWNrTG9jYXRpb25JblJvb3RWaWV3Q29vcmRpbmF0ZXMpLAotICAgICAgICBX
VEZNb3ZlKCppc1JlZGlyZWN0KSwgKnRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiwgKmhhc09w
ZW5lZEZyYW1lcywgKm9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyLCBXVEZNb3ZlKCpvcGVu
ZXIpLCBXVEZNb3ZlKCpyZXF1ZXN0ZXJPcmlnaW4pLAorICAgICAgICBXVEZNb3ZlKCppc1JlZGly
ZWN0KSwgKnRyZWF0QXNTYW1lT3JpZ2luTmF2aWdhdGlvbiwgKmhhc09wZW5lZEZyYW1lcywgKm9w
ZW5lZEJ5RE9NV2l0aE9wZW5lciwgV1RGTW92ZSgqcmVxdWVzdGVyT3JpZ2luKSwKICAgICAgICAg
V1RGTW92ZSgqdGFyZ2V0QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllciksIGxvY2tIaXN0b3J5LCBs
b2NrQmFja0ZvcndhcmRMaXN0LCBXVEZNb3ZlKCpjbGllbnRSZWRpcmVjdFNvdXJjZUZvckhpc3Rv
cnkpIH19OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9OYXZpZ2F0aW9u
QWN0aW9uRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTmF2aWdhdGlvbkFjdGlvbkRhdGEu
aAppbmRleCAxNmY5NzY3YWZlYWQ3MGI1MTg0ZDQxZGJjYzJjNWM0NTRhNzQ4NDk0Li4xMjg1NTg2
NDcxZmU0MWUzMWJmYjc5YjA4MTNkMWM2OTk0ZDg5ZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9OYXZpZ2F0aW9uQWN0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL05hdmlnYXRpb25BY3Rpb25EYXRhLmgKQEAgLTU0LDggKzU0LDcgQEAgc3RydWN0IE5hdmln
YXRpb25BY3Rpb25EYXRhIHsKICAgICBib29sIGlzUmVkaXJlY3QgeyBmYWxzZSB9OwogICAgIGJv
b2wgdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uIHsgZmFsc2UgfTsKICAgICBib29sIGhhc09w
ZW5lZEZyYW1lcyB7IGZhbHNlIH07Ci0gICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9w
ZW5lciB7IGZhbHNlIH07Ci0gICAgc3RkOjpvcHRpb25hbDxzdGQ6OnBhaXI8dWludDY0X3QsIHVp
bnQ2NF90Pj4gb3BlbmVyOworICAgIGJvb2wgb3BlbmVkQnlET01XaXRoT3BlbmVyIHsgZmFsc2Ug
fTsKICAgICBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgcmVxdWVzdGVyT3JpZ2luOwogICAg
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcj4gdGFyZ2V0
QmFja0ZvcndhcmRJdGVtSWRlbnRpZmllcjsKICAgICBXZWJDb3JlOjpMb2NrSGlzdG9yeSBsb2Nr
SGlzdG9yeTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElOYXZp
Z2F0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlvbi5oCmlu
ZGV4IGE5ZjYyMjgzZjY1ODUyZmU5MTJlN2Q2MDZkYWMwYTNmOTgzMjk3MTQuLmY5ZTcxMDU2ZDA0
YTRhZmRhNTY1N2Q5ZmFiY2M5ZTA3Nzc1ZmZlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElOYXZpZ2F0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0FQSU5hdmlnYXRpb24uaApAQCAtMTE4LDggKzExOCw3IEBAIHB1YmxpYzoKIAogICAg
IGJvb2wgdHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0
TmF2aWdhdGlvbkFjdGlvbi50cmVhdEFzU2FtZU9yaWdpbk5hdmlnYXRpb247IH0KICAgICBib29s
IGhhc09wZW5lZEZyYW1lcygpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdE5hdmlnYXRpb25BY3Rpb24u
aGFzT3BlbmVkRnJhbWVzOyB9Ci0gICAgYm9vbCBvcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5l
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGFzdE5hdmlnYXRpb25BY3Rpb24ub3BlbmVkVmlhV2luZG93
T3BlbldpdGhPcGVuZXI7IH0KLSAgICBjb25zdCBzdGQ6Om9wdGlvbmFsPHN0ZDo6cGFpcjx1aW50
NjRfdCwgdWludDY0X3Q+PiYgb3BlbmVyKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0TmF2aWdhdGlv
bkFjdGlvbi5vcGVuZXI7IH0KKyAgICBib29sIG9wZW5lZEJ5RE9NV2l0aE9wZW5lcigpIGNvbnN0
IHsgcmV0dXJuIG1fbGFzdE5hdmlnYXRpb25BY3Rpb24ub3BlbmVkQnlET01XaXRoT3BlbmVyOyB9
CiAgICAgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiByZXF1ZXN0ZXJPcmlnaW4o
KSBjb25zdCB7IHJldHVybiBtX2xhc3ROYXZpZ2F0aW9uQWN0aW9uLnJlcXVlc3Rlck9yaWdpbjsg
fQogCiAgICAgV2ViQ29yZTo6TG9ja0hpc3RvcnkgbG9ja0hpc3RvcnkoKSBjb25zdCB7IHJldHVy
biBtX2xhc3ROYXZpZ2F0aW9uQWN0aW9uLmxvY2tIaXN0b3J5OyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNWM0ZDc2OGMwZGI2NWUzNTZmNGFjMWEw
MDUxMWY2NDg1NGJhODNlMS4uODhjMTg0NTk2ODYxZTgyZmMyMGM1MTU2NTlkMjJiMGVmYThlZmQx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtMjE1
NywxNCArMjE1Nyw4IEBAIFJlZjxXZWJQcm9jZXNzUHJveHk+IFdlYlByb2Nlc3NQb29sOjpwcm9j
ZXNzRm9yTmF2aWdhdGlvbkludGVybmFsKFdlYlBhZ2VQcm94eSYKIAogICAgIC8vIEZJWE1FOiBX
ZSBzaG91bGQgc3VwcG9ydCBwcm9jZXNzIHN3YXAgd2hlbiBhIHdpbmRvdyBoYXMgYmVlbiBvcGVu
ZWQgdmlhIHdpbmRvdy5vcGVuKCkgd2l0aG91dCAnbm9vcGVuZXInLgogICAgIC8vIFRoZSBpc3N1
ZSBpcyB0aGF0IHRoZSBvcGVuZXIgaGFzIGEgaGFuZGxlIHRvIHRoZSBXaW5kb3dQcm94eS4KLSAg
ICBpZiAobmF2aWdhdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpICYmICFtX2Nv
bmZpZ3VyYXRpb24tPnByb2Nlc3NTd2Fwc09uV2luZG93T3BlbldpdGhPcGVuZXIoKSkgewotICAg
ICAgICByZWFzb24gPSAiQnJvd3NpbmcgY29udGV4dCBiZWVuIG9wZW5lZCB2aWEgd2luZG93Lm9w
ZW4oKSB3aXRob3V0ICdub29wZW5lciciX3M7Ci0gICAgICAgIHJldHVybiBwYWdlLnByb2Nlc3Mo
KTsKLSAgICB9Ci0KLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHN1cHBvcnQgcHJvY2VzcyBzd2Fw
IHdoZW4gYSB3aW5kb3cgaGFzIGFuIG9wZW5lci4KLSAgICBpZiAobmF2aWdhdGlvbi5vcGVuZXIo
KSAmJiAhbV9jb25maWd1cmF0aW9uLT5wcm9jZXNzU3dhcHNPbldpbmRvd09wZW5XaXRoT3BlbmVy
KCkpIHsKLSAgICAgICAgcmVhc29uID0gIkJyb3dzaW5nIGNvbnRleHQgaGFzIGFuIG9wZW5lciJf
czsKKyAgICBpZiAobmF2aWdhdGlvbi5vcGVuZWRCeURPTVdpdGhPcGVuZXIoKSAmJiAhbV9jb25m
aWd1cmF0aW9uLT5wcm9jZXNzU3dhcHNPbldpbmRvd09wZW5XaXRoT3BlbmVyKCkpIHsKKyAgICAg
ICAgcmVhc29uID0gIkJyb3dzaW5nIGNvbnRleHQgYmVlbiBvcGVuZWQgYnkgRE9NIHdpdGhvdXQg
J25vb3BlbmVyJyJfczsKICAgICAgICAgcmV0dXJuIHBhZ2UucHJvY2VzcygpOwogICAgIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKaW5kZXggNjk1OGUwN2M4NjQ3ZDA0YmJlOWFk
NTQyYjRjMDA5ZDM5ZTIwMThlZi4uOTFiYTc5ZTFkNDg1OWIyNTNhYTg1ZTY1NDZhYmNhMDlhYTc0
YWRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCkBAIC04NzMsOCArODczLDcg
QEAgdm9pZCBXZWJGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKGNvbnN0IE5hdmlnYXQKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5pc1Jl
ZGlyZWN0ID0gIXJlZGlyZWN0UmVzcG9uc2UuaXNOdWxsKCk7CiAgICAgbmF2aWdhdGlvbkFjdGlv
bkRhdGEudHJlYXRBc1NhbWVPcmlnaW5OYXZpZ2F0aW9uID0gbmF2aWdhdGlvbkFjdGlvbi50cmVh
dEFzU2FtZU9yaWdpbk5hdmlnYXRpb24oKTsKICAgICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS5oYXNP
cGVuZWRGcmFtZXMgPSBuYXZpZ2F0aW9uQWN0aW9uLmhhc09wZW5lZEZyYW1lcygpOwotICAgIG5h
dmlnYXRpb25BY3Rpb25EYXRhLm9wZW5lZFZpYVdpbmRvd09wZW5XaXRoT3BlbmVyID0gbmF2aWdh
dGlvbkFjdGlvbi5vcGVuZWRWaWFXaW5kb3dPcGVuV2l0aE9wZW5lcigpOwotICAgIG5hdmlnYXRp
b25BY3Rpb25EYXRhLm9wZW5lciA9IG5hdmlnYXRpb25BY3Rpb24ub3BlbmVyKCk7CisgICAgbmF2
aWdhdGlvbkFjdGlvbkRhdGEub3BlbmVkQnlET01XaXRoT3BlbmVyID0gbmF2aWdhdGlvbkFjdGlv
bi5vcGVuZWRCeURPTVdpdGhPcGVuZXIoKTsKICAgICBpZiAoYXV0byYgcmVxdWVzdGVyID0gbmF2
aWdhdGlvbkFjdGlvbi5yZXF1ZXN0ZXIoKSkKICAgICAgICAgbmF2aWdhdGlvbkFjdGlvbkRhdGEu
cmVxdWVzdGVyT3JpZ2luID0gcmVxdWVzdGVyLT5zZWN1cml0eU9yaWdpbigpLmRhdGEoKTsKICAg
ICBuYXZpZ2F0aW9uQWN0aW9uRGF0YS50YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyID0g
bmF2aWdhdGlvbkFjdGlvbi50YXJnZXRCYWNrRm9yd2FyZEl0ZW1JZGVudGlmaWVyKCk7CmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMGM2MmNiN2Y4
YWUzMTFjMjAyOTNkZjNmZjdkY2Q2MGE4MmEyMWJmMC4uYjQ2ZWY0OWVjYTliNWM1MzEzYzExYmM0
NGYxMDliNGVjYzYyMTljZiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE4LTEyLTAxICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1BTT05dIHByb2Nlc3Mtc3dhcHBpbmcgbWF5IG9j
Y3VyIGV2ZW4gdGhvdWdoIG9wZW5lciBoYXMgaGFuZGxlIHRvIG9wZW5lZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMjc3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdl
LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dh
cE9uTmF2aWdhdGlvbi5tbToKKwogMjAxOC0xMi0wMSAgWXVzdWtlIFN1enVraSAgPHl1c3VrZXN1
enVraUBzbG93c3RhcnQub3JnPgogCiAgICAgICAgIE1vdmUgVVJMIHRlc3RzIGZyb20gVGVzdFdl
YktpdEFQSSB0byBUZXN0V1RGCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9Qcm9jZXNzU3dhcE9uTmF2aWdhdGlvbi5tbQppbmRleCBm
Yzk1NzFkMzA1MDZjN2NiNjY5NTBhNjU1NTQ2YjBkZjg0Zjg1ODg2Li5lMTI3Y2UzNTY5MDI5Njlk
NWI2ZjkyYjYyZmIwOTdlOWZlZTUwZWMwIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJ
L1Rlc3RzL1dlYktpdENvY29hL1Byb2Nlc3NTd2FwT25OYXZpZ2F0aW9uLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvUHJvY2Vzc1N3YXBPbk5hdmlnYXRpb24u
bW0KQEAgLTI5NzcsNiArMjk3NywxNDUgQEAgVEVTVChQcm9jZXNzU3dhcCwgTmF2aWdhdGVDcm9z
c09yaWdpbldpdGhPcGVuZWUpCiAgICAgRVhQRUNUX0VRKHdlYmtpdFBJRCwgW3dlYlZpZXcgX3dl
YlByb2Nlc3NJZGVudGlmaWVyXSk7CiB9CiAKK3N0YXRpYyBjb25zdCBjaGFyKiBjcm9zc1NpdGVM
aW5rV2l0aE9wZW5lclRlc3RCeXRlcyA9IFIiUFNPTlJFU09VUkNFKAorPHNjcmlwdD4KK2Z1bmN0
aW9uIHNhdmVPcGVuZWUoKQoreworICAgIG9wZW5lZSA9IHdpbmRvdy5vcGVuKCIiLCAiZm9vIik7
Cit9Cis8L3NjcmlwdD4KKzxhIGlkPSJ0ZXN0TGluayIgdGFyZ2V0PSJmb28iIGhyZWY9InBzb246
Ly93d3cud2Via2l0Lm9yZy9tYWluMi5odG1sIj5MaW5rPC9hPgorKVBTT05SRVNPVVJDRSI7CisK
K1RFU1QoUHJvY2Vzc1N3YXAsIE5hdmlnYXRlQ3Jvc3NPcmlnaW5XaXRoT3BlbmVyKQoreworICAg
IGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0gYWRvcHROUyhbW19XS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOworICAgIFtwcm9jZXNzUG9vbENvbmZpZ3VyYXRp
b24gc2V0UHJvY2Vzc1N3YXBzT25OYXZpZ2F0aW9uOllFU107CisgICAgYXV0byBwcm9jZXNzUG9v
bCA9IGFkb3B0TlMoW1tXS1Byb2Nlc3NQb29sIGFsbG9jXSBfaW5pdFdpdGhDb25maWd1cmF0aW9u
OnByb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byB3ZWJWaWV3Q29u
ZmlndXJhdGlvbiA9IGFkb3B0TlMoW1tXS1dlYlZpZXdDb25maWd1cmF0aW9uIGFsbG9jXSBpbml0
XSk7CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFByb2Nlc3NQb29sOnByb2Nlc3NQb29s
LmdldCgpXTsKKyAgICBhdXRvIGhhbmRsZXIgPSBhZG9wdE5TKFtbUFNPTlNjaGVtZSBhbGxvY10g
aW5pdF0pOworICAgIFtoYW5kbGVyIGFkZE1hcHBpbmdGcm9tVVJMU3RyaW5nOkAicHNvbjovL3d3
dy53ZWJraXQub3JnL21haW4xLmh0bWwiIHRvRGF0YTpjcm9zc1NpdGVMaW5rV2l0aE9wZW5lclRl
c3RCeXRlc107CisgICAgW3dlYlZpZXdDb25maWd1cmF0aW9uIHNldFVSTFNjaGVtZUhhbmRsZXI6
aGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJQU09OIl07CisKKyAgICBhdXRvIG1lc3NhZ2VI
YW5kbGVyID0gYWRvcHROUyhbW1BTT05NZXNzYWdlSGFuZGxlciBhbGxvY10gaW5pdF0pOworICAg
IFtbd2ViVmlld0NvbmZpZ3VyYXRpb24gdXNlckNvbnRlbnRDb250cm9sbGVyXSBhZGRTY3JpcHRN
ZXNzYWdlSGFuZGxlcjptZXNzYWdlSGFuZGxlci5nZXQoKSBuYW1lOkAicHNvbiJdOworCisgICAg
YXV0byB3ZWJWaWV3ID0gYWRvcHROUyhbW1dLV2ViVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpO
U01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOndlYlZpZXdDb25maWd1cmF0
aW9uLmdldCgpXSk7CisgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBhZG9wdE5TKFtbUFNP
Tk5hdmlnYXRpb25EZWxlZ2F0ZSBhbGxvY10gaW5pdF0pOworICAgIFt3ZWJWaWV3IHNldE5hdmln
YXRpb25EZWxlZ2F0ZTpuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCldOworICAgIGF1dG8gdWlEZWxl
Z2F0ZSA9IGFkb3B0TlMoW1tQU09OVUlEZWxlZ2F0ZSBhbGxvY10gaW5pdFdpdGhOYXZpZ2F0aW9u
RGVsZWdhdGU6bmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpXSk7CisgICAgW3dlYlZpZXcgc2V0VUlE
ZWxlZ2F0ZTp1aURlbGVnYXRlLmdldCgpXTsKKworICAgIE5TVVJMUmVxdWVzdCAqcmVxdWVzdCA9
IFtOU1VSTFJlcXVlc3QgcmVxdWVzdFdpdGhVUkw6W05TVVJMIFVSTFdpdGhTdHJpbmc6QCJwc29u
Oi8vd3d3LndlYmtpdC5vcmcvbWFpbjEuaHRtbCJdXTsKKworICAgIFt3ZWJWaWV3IGxvYWRSZXF1
ZXN0OnJlcXVlc3RdOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9uZSk7CisgICAg
ZG9uZSA9IGZhbHNlOworCisgICAgLy8gT3BlbnMgInBzb246Ly93d3cud2Via2l0Lm9yZy9tYWlu
Mi5odG1sIiBpbiBhbiBhdXhpbGlhcnkgd2luZG93LgorICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2
YVNjcmlwdDpAInRlc3RMaW5rLmNsaWNrKCkiIGNvbXBsZXRpb25IYW5kbGVyOm5pbF07CisKKyAg
ICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRpZENyZWF0ZVdlYlZpZXcpOworICAgIGRpZENy
ZWF0ZVdlYlZpZXcgPSBmYWxzZTsKKworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnJ1bigmZG9u
ZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgRVhQRUNUX0VRKFt3ZWJWaWV3IF93ZWJQcm9j
ZXNzSWRlbnRpZmllcl0sIFtjcmVhdGVkV2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdKTsK
KyAgICBhdXRvIHdlYmtpdFBJRCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisK
KyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LndlYmtpdC5vcmcvbWFpbjEuaHRtbCIs
IFtbd2ViVmlldyBVUkxdIGFic29sdXRlU3RyaW5nXSk7CisgICAgRVhQRUNUX1dLX1NUUkVRKEAi
cHNvbjovL3d3dy53ZWJraXQub3JnL21haW4yLmh0bWwiLCBbW2NyZWF0ZWRXZWJWaWV3IFVSTF0g
YWJzb2x1dGVTdHJpbmddKTsKKworICAgIFt3ZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAInNh
dmVPcGVuZWUoKSIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQsIE5TRXJyb3IgKmVycm9yKSB7
CisgICAgICAgIGRvbmUgPSB0cnVlOworICAgIH1dOworICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6
OnJ1bigmZG9uZSk7CisgICAgZG9uZSA9IGZhbHNlOworCisgICAgW3dlYlZpZXcgZXZhbHVhdGVK
YXZhU2NyaXB0OkAib3BlbmVlLmxvY2F0aW9uLmhyZWYiIGNvbXBsZXRpb25IYW5kbGVyOiBbJl0g
KGlkIG9wZW5lZVVSTCwgTlNFcnJvciAqZXJyb3IpIHsKKyAgICAgICAgRVhQRUNUX1dLX1NUUkVR
KEAicHNvbjovL3d3dy53ZWJraXQub3JnL21haW4yLmh0bWwiLCBvcGVuZWVVUkwpOworICAgICAg
ICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRv
bmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIC8vIE5ldyB3aW5kb3cgc2hvdWxkIGhhdmUg
YW4gb3BlbmVyLgorICAgIFtjcmVhdGVkV2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5k
b3cub3BlbmVyID8gJ3RydWUnIDogJ2ZhbHNlJyIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQg
aGFzT3BlbmVyLCBOU0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJ0
cnVlIiwgaGFzT3BlbmVyKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVz
dFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICAv
LyBOYXZpZ2F0ZSBhdXhpbGlhcnkgd2luZG93IGNyb3NzLW9yaWdpbi4KKyAgICByZXF1ZXN0ID0g
W05TVVJMUmVxdWVzdCByZXF1ZXN0V2l0aFVSTDpbTlNVUkwgVVJMV2l0aFN0cmluZzpAInBzb246
Ly93d3cuYXBwbGUuY29tL21haW4uaHRtbCJdXTsKKyAgICBbY3JlYXRlZFdlYlZpZXcgbG9hZFJl
cXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAg
ICBkb25lID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3LmFwcGxl
LmNvbS9tYWluLmh0bWwiLCBbW2NyZWF0ZWRXZWJWaWV3IFVSTF0gYWJzb2x1dGVTdHJpbmddKTsK
KworICAgIC8vIEF1eGlsaWFyeSB3aW5kb3cgc2hvdWxkIHN0aWxsIGhhdmUgYW4gb3BlbmVyLgor
ICAgIFtjcmVhdGVkV2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJ3aW5kb3cub3BlbmVyID8g
J3RydWUnIDogJ2ZhbHNlJyIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgaGFzT3BlbmVyLCBO
U0Vycm9yICplcnJvcikgeworICAgICAgICBFWFBFQ1RfV0tfU1RSRVEoQCJ0cnVlIiwgaGFzT3Bl
bmVyKTsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6
VXRpbDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisgICAgW2NyZWF0ZWRXZWJWaWV3
IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5vcGVuZXIuY2xvc2VkID8gJ3RydWUnIDogJ2Zh
bHNlJyIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgb3BlbmVySXNDbG9zZWQsIE5TRXJyb3Ig
KmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShAImZhbHNlIiwgb3BlbmVySXNDbG9z
ZWQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsKKyAgICBUZXN0V2ViS2l0QVBJOjpV
dGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsKKworICAgIC8vIFdlIHNob3VsZCBu
b3QgaGF2ZSBwcm9jZXNzLXN3YXBwZWQgc2luY2UgdGhlIGF1eGlsaWFyeSB3aW5kb3cgaGFzIGFu
IG9wZW5lci4KKyAgICBFWFBFQ1RfRVEod2Via2l0UElELCBbY3JlYXRlZFdlYlZpZXcgX3dlYlBy
b2Nlc3NJZGVudGlmaWVyXSk7CisKKyAgICAvLyBIYXZlIHRoZSBvcGVuZWUgZGlzb3duIGl0cyBv
cGVuZXIuCisgICAgW2NyZWF0ZWRXZWJWaWV3IGV2YWx1YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5v
cGVuZXIgPSBudWxsIiBjb21wbGV0aW9uSGFuZGxlcjogWyZdIChpZCwgTlNFcnJvciAqZXJyb3Ip
IHsKKyAgICAgICAgZG9uZSA9IHRydWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICAvLyBBdXhpbGlhcnkgd2lu
ZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVuZXIuCisgICAgW2NyZWF0ZWRXZWJWaWV3IGV2YWx1
YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5vcGVuZXIgPyAndHJ1ZScgOiAnZmFsc2UnIiBjb21wbGV0
aW9uSGFuZGxlcjogWyZdIChpZCBoYXNPcGVuZXIsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAg
IEVYUEVDVF9XS19TVFJFUShAImZhbHNlIiwgaGFzT3BlbmVyKTsKKyAgICAgICAgZG9uZSA9IHRy
dWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBk
b25lID0gZmFsc2U7CisKKyAgICAvLyBOYXZpZ2F0ZSBvcGVuZWUgY3Jvc3Mtb3JpZ2luIGFnYWlu
LgorICAgIHJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJMOltOU1VSTCBVUkxX
aXRoU3RyaW5nOkAicHNvbjovL3d3dy5nb29nbGUuY29tL21haW4uaHRtbCJdXTsKKyAgICBbY3Jl
YXRlZFdlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZkb25lKTsKKyAgICBkb25lID0gZmFsc2U7CisKKyAgICAvLyBBdXhpbGlhcnkgd2lu
ZG93IHNob3VsZCBub3QgaGF2ZSBhbiBvcGVuZXIuCisgICAgW2NyZWF0ZWRXZWJWaWV3IGV2YWx1
YXRlSmF2YVNjcmlwdDpAIndpbmRvdy5vcGVuZXIgPyAndHJ1ZScgOiAnZmFsc2UnIiBjb21wbGV0
aW9uSGFuZGxlcjogWyZdIChpZCBoYXNPcGVuZXIsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAg
IEVYUEVDVF9XS19TVFJFUShAImZhbHNlIiwgaGFzT3BlbmVyKTsKKyAgICAgICAgZG9uZSA9IHRy
dWU7CisgICAgfV07CisgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkb25lKTsKKyAgICBk
b25lID0gZmFsc2U7CisKKyAgICBFWFBFQ1RfV0tfU1RSRVEoQCJwc29uOi8vd3d3Lmdvb2dsZS5j
b20vbWFpbi5odG1sIiwgW1tjcmVhdGVkV2ViVmlldyBVUkxdIGFic29sdXRlU3RyaW5nXSk7Cisg
ICAgLy8gV2Ugc3RpbGwgc2hvdWxkIG5vdCBoYXZlIHByb2Nlc3Mtc3dhcHBlZCBzaW5jZSB0aGUg
YXV4aWxpYXJ5IHdpbmRvdydzIG9wZW5lciBzdGlsbCBoYXMgYSBoYW5kbGUgdG8gaXRzIG9wZW5l
ZS4KKyAgICBFWFBFQ1RfRVEod2Via2l0UElELCBbY3JlYXRlZFdlYlZpZXcgX3dlYlByb2Nlc3NJ
ZGVudGlmaWVyXSk7CisKKyAgICBbd2ViVmlldyBldmFsdWF0ZUphdmFTY3JpcHQ6QCJvcGVuZWUu
Y2xvc2VkID8gJ3RydWUnIDogJ2ZhbHNlJyIgY29tcGxldGlvbkhhbmRsZXI6IFsmXSAoaWQgb3Bl
bmVlSXNDbG9zZWQsIE5TRXJyb3IgKmVycm9yKSB7CisgICAgICAgIEVYUEVDVF9XS19TVFJFUShA
ImZhbHNlIiwgb3BlbmVlSXNDbG9zZWQpOworICAgICAgICBkb25lID0gdHJ1ZTsKKyAgICB9XTsK
KyAgICBUZXN0V2ViS2l0QVBJOjpVdGlsOjpydW4oJmRvbmUpOworICAgIGRvbmUgPSBmYWxzZTsK
K30KKwogVEVTVChQcm9jZXNzU3dhcCwgR29CYWNrVG9TdXNwZW5kZWRQYWdlV2l0aE1haW5GcmFt
ZUlEVGhhdElzTm90T25lKQogewogICAgIGF1dG8gcHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uID0g
YWRvcHROUyhbW19XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbiBhbGxvY10gaW5pdF0pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>