<?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>104084</bug_id>
          
          <creation_ts>2012-12-04 21:21:21 -0800</creation_ts>
          <short_desc>[V8] Replace String::New(&quot;symbol&quot;) with String::NewSymbol(&quot;symbol&quot;)</short_desc>
          <delta_ts>2012-12-04 22:21:55 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>783367</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 21:21:21 -0800</bug_when>
    <thetext>V8 can look up symbols faster than strings. This is a final patch for the replacement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783370</commentid>
    <comment_count>1</comment_count>
      <attachid>177664</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-12-04 21:22:29 -0800</bug_when>
    <thetext>Created attachment 177664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783400</commentid>
    <comment_count>2</comment_count>
      <attachid>177664</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 22:21:51 -0800</bug_when>
    <thetext>Comment on attachment 177664
Patch

Clearing flags on attachment: 177664

Committed r136641: &lt;http://trac.webkit.org/changeset/136641&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783401</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-04 22:21:55 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177664</attachid>
            <date>2012-12-04 21:22:29 -0800</date>
            <delta_ts>2012-12-04 22:21:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104084-20121205141954.patch</filename>
            <type>text/plain</type>
            <size>24511</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2NTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2UyYjg4NWYwZDA4NDYw
ZDZjYjRhNzRlMmQ3NzU1YTZhNzBiMTA5ZC4uNjY2MzdjNGVjNGU3NTFlNDQ0ZmEzOWYzNGNjOWZi
MzJhMDFjOWI5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDU1IEBACiAyMDEyLTEyLTA0ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbVjhdIFJlcGxhY2Ug
U3RyaW5nOjpOZXcoInN5bWJvbCIpIHdpdGggU3RyaW5nOjpOZXdTeW1ib2woInN5bWJvbCIpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQwODQKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBWOCBjYW4gbG9v
ayB1cCBzeW1ib2xzIGZhc3RlciB0aGFuIHN0cmluZ3MuIFRoaXMgaXMgYSBmaW5hbCBwYXRjaCBm
b3IgdGhlIHJlcGxhY2VtZW50LgorCisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVo
YXZpb3IuCisKKyAgICAgICAgKiBiaW5kaW5ncy92OC9EYXRlRXh0ZW5zaW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRhdGVFeHRlbnNpb246OnNldEFsbG93U2xlZXApOgorICAgICAgICAoV2Vi
Q29yZTo6RGF0ZUV4dGVuc2lvbjo6R2V0TmF0aXZlRnVuY3Rpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL3Y4L05QVjhPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bnBJZGVudGlmaWVyVG9W
OElkZW50aWZpZXIpOgorICAgICAgICAoX05QTl9JbnZva2UpOgorICAgICAgICAqIGJpbmRpbmdz
L3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQYWdlU2Ny
aXB0RGVidWdTZXJ2ZXI6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3Jp
cHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdENvbnRyb2xsZXI6OnNl
dENvbnRleHREZWJ1Z0lkKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6Y2FsbERlYnVnZ2Vy
TWV0aG9kKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpzZXRCcmVha3Bv
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpyZW1vdmVCcmVha3Bv
aW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpjbGVhckJyZWFrcG9p
bnRzKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpzZXRCcmVha3BvaW50
c0FjdGl2YXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHREZWJ1Z1NlcnZlcjo6aGFuZGxl
VjhEZWJ1Z0V2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdERlYnVnU2VydmVyOjpkaXNw
YXRjaERpZFBhcnNlU291cmNlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRPYmplY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFsT2JqZWN0OjpzZXQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2NyaXB0R2xvYmFsT2JqZWN0OjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6
U2NyaXB0R2xvYmFsT2JqZWN0OjpyZW1vdmUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Qmlu
ZGluZy5oOgorICAgICAgICAoV2ViQ29yZTo6dG9WOFNlcXVlbmNlKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldEluamVj
dGVkU2NyaXB0Q29udGV4dERlYnVnSWQpOgorICAgICAgICAoV2ViQ29yZTo6VjhET01XaW5kb3dT
aGVsbDo6dXBkYXRlRG9jdW1lbnRQcm9wZXJ0eSk6CisgICAgICAgIChXZWJDb3JlOjpWOERPTVdp
bmRvd1NoZWxsOjpjbGVhckRvY3VtZW50UHJvcGVydHkpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4
L1Y4TlBPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6bnBPYmplY3RQcm9wZXJ0eUVudW1l
cmF0b3IpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpWOE5vZGVGaWx0ZXJDb25kaXRpb246OmFjY2VwdE5vZGUpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6VjhQZXJJc29sYXRlRGF0YTo6Y29uc3RydWN0b3JPZlRvU3RyaW5nKToKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVDb250ZXh0SWZOZWVkZWQpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdERlYnVnU2VydmVyOjphZGRMaXN0ZW5lcik6CisKKzIw
MTItMTItMDQgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgorCiAgICAgICAg
IFtWOF0gUmVtb3ZlIEludGVnZXJDYWNoZTo6bV9pbml0aWFsaXplZAogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAzOTc4CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0RhdGVFeHRlbnNpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvRGF0ZUV4dGVuc2lvbi5jcHAKaW5kZXggZGNlNTgzYTU2NTJkOTY5YjZl
MzM0YzA3ODY0NmNmYjM4Zjc2MTE3OS4uNDVjOGY5YWI4OTFiZTgxODY2YjhiYWExMmI4MDEyNzlm
OTQyNjY5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGF0ZUV4dGVu
c2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvRGF0ZUV4dGVuc2lvbi5j
cHAKQEAgLTc2LDcgKzc2LDcgQEAgRGF0ZUV4dGVuc2lvbiogRGF0ZUV4dGVuc2lvbjo6Z2V0KCkK
IAogdm9pZCBEYXRlRXh0ZW5zaW9uOjpzZXRBbGxvd1NsZWVwKGJvb2wgYWxsb3cpCiB7Ci0gICAg
djg6OkxvY2FsPHY4OjpWYWx1ZT4gcmVzdWx0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKS0+
R2xvYmFsKCktPkdldCh2ODo6U3RyaW5nOjpOZXcoIkRhdGUiKSk7CisgICAgdjg6OkxvY2FsPHY4
OjpWYWx1ZT4gcmVzdWx0ID0gdjg6OkNvbnRleHQ6OkdldEN1cnJlbnQoKS0+R2xvYmFsKCktPkdl
dCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woIkRhdGUiKSk7CiAgICAgaWYgKHJlc3VsdC5Jc0VtcHR5
KCkgfHwgIXJlc3VsdC0+SXNPYmplY3QoKSkKICAgICAgICAgcmV0dXJuOwogCkBAIC05Niw5ICs5
Niw5IEBAIHZvaWQgRGF0ZUV4dGVuc2lvbjo6c2V0QWxsb3dTbGVlcChib29sIGFsbG93KQogCiB2
ODo6SGFuZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPiBEYXRlRXh0ZW5zaW9uOjpHZXROYXRpdmVG
dW5jdGlvbih2ODo6SGFuZGxlPHY4OjpTdHJpbmc+IG5hbWUpCiB7Ci0gICAgaWYgKG5hbWUtPkVx
dWFscyh2ODo6U3RyaW5nOjpOZXcoIlNldHVwIikpKQorICAgIGlmIChuYW1lLT5FcXVhbHModjg6
OlN0cmluZzo6TmV3U3ltYm9sKCJTZXR1cCIpKSkKICAgICAgICAgcmV0dXJuIHY4OjpGdW5jdGlv
blRlbXBsYXRlOjpOZXcoU2V0dXApOwotICAgIGlmIChuYW1lLT5FcXVhbHModjg6OlN0cmluZzo6
TmV3KCJPblNsZWVwRGV0ZWN0ZWQiKSkpCisgICAgaWYgKG5hbWUtPkVxdWFscyh2ODo6U3RyaW5n
OjpOZXdTeW1ib2woIk9uU2xlZXBEZXRlY3RlZCIpKSkKICAgICAgICAgcmV0dXJuIHY4OjpGdW5j
dGlvblRlbXBsYXRlOjpOZXcoT25TbGVlcERldGVjdGVkKTsKIAogICAgIHJldHVybiB2ODo6SGFu
ZGxlPHY4OjpGdW5jdGlvblRlbXBsYXRlPigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvTlBWOE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9O
UFY4T2JqZWN0LmNwcAppbmRleCBiMjdkY2IyYWI3ZjBiYjlmMzNmZTRjZTI2N2NmNzllMmJhNDBk
ZDJhLi43NTVkNjNhOWY1Yzg5ZDJhOWNlNWIxZGVlMDNhMzkzY2UyMTc0NjRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9OUFY4T2JqZWN0LmNwcApAQCAtMTEyLDExICsxMTIsMTEgQEAg
c3RhdGljIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBucElkZW50aWZpZXJUb1Y4SWRlbnRpZmllcihO
UElkZW50aWZpZXIgbmFtZSkKIHsKICAgICBQcml2YXRlSWRlbnRpZmllciogaWRlbnRpZmllciA9
IHN0YXRpY19jYXN0PFByaXZhdGVJZGVudGlmaWVyKj4obmFtZSk7CiAgICAgaWYgKGlkZW50aWZp
ZXItPmlzU3RyaW5nKQotICAgICAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3KHN0YXRpY19jYXN0
PGNvbnN0IGNoYXIqPihpZGVudGlmaWVyLT52YWx1ZS5zdHJpbmcpKTsKKyAgICAgICAgcmV0dXJu
IHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChzdGF0aWNfY2FzdDxjb25zdCBjaGFyKj4oaWRlbnRpZmll
ci0+dmFsdWUuc3RyaW5nKSk7CiAKICAgICBjaGFyIGJ1ZmZlclszMl07CiAgICAgc25wcmludGYo
YnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgIiVkIiwgaWRlbnRpZmllci0+dmFsdWUubnVtYmVyKTsK
LSAgICByZXR1cm4gdjg6OlN0cmluZzo6TmV3KGJ1ZmZlcik7CisgICAgcmV0dXJuIHY4OjpTdHJp
bmc6Ok5ld1N5bWJvbChidWZmZXIpOwogfQogCiBOUE9iamVjdCogdjhPYmplY3RUb05QT2JqZWN0
KHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0KQpAQCAtMjE0LDcgKzIxNCw3IEBAIGJvb2wg
X05QTl9JbnZva2UoTlBQIG5wcCwgTlBPYmplY3QqIG5wT2JqZWN0LCBOUElkZW50aWZpZXIgbWV0
aG9kTmFtZSwgY29uc3QgTlBWCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIHNjb3BlKGNvbnRleHQp
OwogICAgIEV4Y2VwdGlvbkNhdGNoZXIgZXhjZXB0aW9uQ2F0Y2hlcjsKIAotICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBmdW5jdGlvbk9iamVjdCA9IHY4TnBPYmplY3QtPnY4T2JqZWN0LT5HZXQo
djg6OlN0cmluZzo6TmV3KGlkZW50aWZpZXItPnZhbHVlLnN0cmluZykpOworICAgIHY4OjpIYW5k
bGU8djg6OlZhbHVlPiBmdW5jdGlvbk9iamVjdCA9IHY4TnBPYmplY3QtPnY4T2JqZWN0LT5HZXQo
djg6OlN0cmluZzo6TmV3U3ltYm9sKGlkZW50aWZpZXItPnZhbHVlLnN0cmluZykpOwogICAgIGlm
IChmdW5jdGlvbk9iamVjdC5Jc0VtcHR5KCkgfHwgZnVuY3Rpb25PYmplY3QtPklzTnVsbCgpKSB7
CiAgICAgICAgIE5VTExfVE9fTlBWQVJJQU5UKCpyZXN1bHQpOwogICAgICAgICByZXR1cm4gZmFs
c2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVi
dWdTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvUGFnZVNjcmlwdERlYnVn
U2VydmVyLmNwcAppbmRleCA2NWU0ODM3ZDQ1MGQ3NzdjNzU0NmY0N2U1YzMwNTdmYjk3OTU0NzEy
Li42YTkzNzFhM2EzYTMzYzZiZjA2OWQ0NjUwNjc3ZTg4MTFmZmY0N2EzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9QYWdlU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1BhZ2VTY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAg
LTk2LDcgKzk2LDcgQEAgdm9pZCBQYWdlU2NyaXB0RGVidWdTZXJ2ZXI6OmFkZExpc3RlbmVyKFNj
cmlwdERlYnVnTGlzdGVuZXIqIGxpc3RlbmVyLCBQYWdlKiBwYWcKICAgICBpZiAoIXNoZWxsIHx8
ICFzaGVsbC0+aXNDb250ZXh0SW5pdGlhbGl6ZWQoKSkKICAgICAgICAgcmV0dXJuOwogICAgIHY4
OjpIYW5kbGU8djg6OkNvbnRleHQ+IGNvbnRleHQgPSBzaGVsbC0+Y29udGV4dCgpOwotICAgIHY4
OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBnZXRTY3JpcHRzRnVuY3Rpb24gPSB2ODo6TG9jYWw8djg6
OkZ1bmN0aW9uPjo6Q2FzdChtX2RlYnVnZ2VyU2NyaXB0LmdldCgpLT5HZXQodjg6OlN0cmluZzo6
TmV3KCJnZXRTY3JpcHRzIikpKTsKKyAgICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gZ2V0U2Ny
aXB0c0Z1bmN0aW9uID0gdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj46OkNhc3QobV9kZWJ1Z2dlclNj
cmlwdC5nZXQoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZ2V0U2NyaXB0cyIpKSk7CiAg
ICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGFyZ3ZbXSA9IHsgY29udGV4dC0+R2V0RW1iZWRkZXJE
YXRhKDApIH07CiAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlOwogICAgIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggNzE2
YzI2MzA0NTQzMjY2MjliMmM1YzY0NjhjZGI5YzA5NmE1ODk2Ny4uYzMwMDI1YWNjYmExMTYzMjMx
OGRjNDE1NDBiMTIxMTIwYzE1YjM3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTcxMyw3ICs3MTMsNyBAQCBib29sIFNjcmlwdENv
bnRyb2xsZXI6OnNldENvbnRleHREZWJ1Z0lkKGludCBkZWJ1Z0lkKQogICAgIGNoYXIgYnVmZmVy
WzMyXTsKICAgICBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAicGFnZSwlZCIsIGRl
YnVnSWQpOwogICAgIGJ1ZmZlclszMV0gPSAwOwotICAgIGNvbnRleHQtPlNldEVtYmVkZGVyRGF0
YSgwLCB2ODo6U3RyaW5nOjpOZXcoYnVmZmVyKSk7CisgICAgY29udGV4dC0+U2V0RW1iZWRkZXJE
YXRhKDAsIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChidWZmZXIpKTsKIAogICAgIHJldHVybiB0cnVl
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdT
ZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RGVidWdTZXJ2ZXIu
Y3BwCmluZGV4IGFkOWQ5NjdkYWNkMjIxY2VjMTljNWRmOGYxMDA3ZjYyNzJkNTBhYWMuLmNiMjgw
NzAxZWQ3MjYyOTEwZGIxOWY3ZjM1OWUwMjJhMTJjNDgxOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdERlYnVnU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9TY3JpcHREZWJ1Z1NlcnZlci5jcHAKQEAgLTYwLDcgKzYwLDcgQEAg
cHJpdmF0ZToKIAogdjg6OkxvY2FsPHY4OjpWYWx1ZT4gU2NyaXB0RGVidWdTZXJ2ZXI6OmNhbGxE
ZWJ1Z2dlck1ldGhvZChjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIGludCBhcmdjLCB2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gYXJndltdKQogewotICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBm
dW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0KG1fZGVidWdnZXJTY3JpcHQu
Z2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXcoZnVuY3Rpb25OYW1lKSkpOworICAgIHY4OjpIYW5k
bGU8djg6OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0
KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woZnVuY3Rp
b25OYW1lKSkpOwogICAgIFY4UmVjdXJzaW9uU2NvcGU6Ok1pY3JvdGFza1N1cHByZXNzaW9uIHNj
b3BlOwogICAgIHJldHVybiBmdW5jdGlvbi0+Q2FsbChtX2RlYnVnZ2VyU2NyaXB0LmdldCgpLCBh
cmdjLCBhcmd2KTsKIH0KQEAgLTc4LDE3ICs3OCwxNyBAQCBTdHJpbmcgU2NyaXB0RGVidWdTZXJ2
ZXI6OnNldEJyZWFrcG9pbnQoY29uc3QgU3RyaW5nJiBzb3VyY2VJRCwgY29uc3QgU2NyaXB0QnJl
YQogICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUoZGVidWdnZXJDb250ZXh0KTsK
IAogICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBhcmdzID0gdjg6Ok9iamVjdDo6TmV3KCk7Ci0g
ICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygic291cmNlSUQiKSwgdjhTdHJpbmcoc291cmNl
SUQpKTsKLSAgICBhcmdzLT5TZXQodjg6OlN0cmluZzo6TmV3KCJsaW5lTnVtYmVyIiksIHY4SW50
ZWdlcihzY3JpcHRCcmVha3BvaW50LmxpbmVOdW1iZXIpKTsKLSAgICBhcmdzLT5TZXQodjg6OlN0
cmluZzo6TmV3KCJjb2x1bW5OdW1iZXIiKSwgdjhJbnRlZ2VyKHNjcmlwdEJyZWFrcG9pbnQuY29s
dW1uTnVtYmVyKSk7Ci0gICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ldygiY29uZGl0aW9uIiks
IHY4U3RyaW5nKHNjcmlwdEJyZWFrcG9pbnQuY29uZGl0aW9uKSk7CisgICAgYXJncy0+U2V0KHY4
OjpTdHJpbmc6Ok5ld1N5bWJvbCgic291cmNlSUQiKSwgdjhTdHJpbmcoc291cmNlSUQpKTsKKyAg
ICBhcmdzLT5TZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJsaW5lTnVtYmVyIiksIHY4SW50ZWdl
cihzY3JpcHRCcmVha3BvaW50LmxpbmVOdW1iZXIpKTsKKyAgICBhcmdzLT5TZXQodjg6OlN0cmlu
Zzo6TmV3U3ltYm9sKCJjb2x1bW5OdW1iZXIiKSwgdjhJbnRlZ2VyKHNjcmlwdEJyZWFrcG9pbnQu
Y29sdW1uTnVtYmVyKSk7CisgICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiY29u
ZGl0aW9uIiksIHY4U3RyaW5nKHNjcmlwdEJyZWFrcG9pbnQuY29uZGl0aW9uKSk7CiAKLSAgICB2
ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gc2V0QnJlYWtwb2ludEZ1bmN0aW9uID0gdjg6OkxvY2Fs
PHY4OjpGdW5jdGlvbj46OkNhc3QobV9kZWJ1Z2dlclNjcmlwdC5nZXQoKS0+R2V0KHY4OjpTdHJp
bmc6Ok5ldygic2V0QnJlYWtwb2ludCIpKSk7CisgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+
IHNldEJyZWFrcG9pbnRGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0KG1f
ZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInNldEJyZWFr
cG9pbnQiKSkpOwogICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBicmVha3BvaW50SWQgPSB2ODo6
RGVidWc6OkNhbGwoc2V0QnJlYWtwb2ludEZ1bmN0aW9uLCBhcmdzKTsKICAgICBpZiAoIWJyZWFr
cG9pbnRJZC0+SXNTdHJpbmcoKSkKICAgICAgICAgcmV0dXJuICIiOwotICAgICphY3R1YWxMaW5l
TnVtYmVyID0gYXJncy0+R2V0KHY4OjpTdHJpbmc6Ok5ldygibGluZU51bWJlciIpKS0+SW50MzJW
YWx1ZSgpOwotICAgICphY3R1YWxDb2x1bW5OdW1iZXIgPSBhcmdzLT5HZXQodjg6OlN0cmluZzo6
TmV3KCJjb2x1bW5OdW1iZXIiKSktPkludDMyVmFsdWUoKTsKKyAgICAqYWN0dWFsTGluZU51bWJl
ciA9IGFyZ3MtPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImxpbmVOdW1iZXIiKSktPkludDMy
VmFsdWUoKTsKKyAgICAqYWN0dWFsQ29sdW1uTnVtYmVyID0gYXJncy0+R2V0KHY4OjpTdHJpbmc6
Ok5ld1N5bWJvbCgiY29sdW1uTnVtYmVyIikpLT5JbnQzMlZhbHVlKCk7CiAgICAgcmV0dXJuIHRv
V2ViQ29yZVN0cmluZyhicmVha3BvaW50SWQtPlRvU3RyaW5nKCkpOwogfQogCkBAIC05OSw5ICs5
OSw5IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OnJlbW92ZUJyZWFrcG9pbnQoY29uc3QgU3Ry
aW5nJiBicmVha3BvaW50SWQpCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZShk
ZWJ1Z2dlckNvbnRleHQpOwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGFyZ3MgPSB2ODo6
T2JqZWN0OjpOZXcoKTsKLSAgICBhcmdzLT5TZXQodjg6OlN0cmluZzo6TmV3KCJicmVha3BvaW50
SWQiKSwgdjhTdHJpbmcoYnJlYWtwb2ludElkKSk7CisgICAgYXJncy0+U2V0KHY4OjpTdHJpbmc6
Ok5ld1N5bWJvbCgiYnJlYWtwb2ludElkIiksIHY4U3RyaW5nKGJyZWFrcG9pbnRJZCkpOwogCi0g
ICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IHJlbW92ZUJyZWFrcG9pbnRGdW5jdGlvbiA9IHY4
OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpDYXN0KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2
ODo6U3RyaW5nOjpOZXcoInJlbW92ZUJyZWFrcG9pbnQiKSkpOworICAgIHY4OjpIYW5kbGU8djg6
OkZ1bmN0aW9uPiByZW1vdmVCcmVha3BvaW50RnVuY3Rpb24gPSB2ODo6TG9jYWw8djg6OkZ1bmN0
aW9uPjo6Q2FzdChtX2RlYnVnZ2VyU2NyaXB0LmdldCgpLT5HZXQodjg6OlN0cmluZzo6TmV3U3lt
Ym9sKCJyZW1vdmVCcmVha3BvaW50IikpKTsKICAgICB2ODo6RGVidWc6OkNhbGwocmVtb3ZlQnJl
YWtwb2ludEZ1bmN0aW9uLCBhcmdzKTsKIH0KIApAQCAtMTEyLDcgKzExMiw3IEBAIHZvaWQgU2Ny
aXB0RGVidWdTZXJ2ZXI6OmNsZWFyQnJlYWtwb2ludHMoKQogICAgIHY4OjpMb2NhbDx2ODo6Q29u
dGV4dD4gZGVidWdnZXJDb250ZXh0ID0gdjg6OkRlYnVnOjpHZXREZWJ1Z0NvbnRleHQoKTsKICAg
ICB2ODo6Q29udGV4dDo6U2NvcGUgY29udGV4dFNjb3BlKGRlYnVnZ2VyQ29udGV4dCk7CiAKLSAg
ICB2ODo6SGFuZGxlPHY4OjpGdW5jdGlvbj4gY2xlYXJCcmVha3BvaW50cyA9IHY4OjpMb2NhbDx2
ODo6RnVuY3Rpb24+OjpDYXN0KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5n
OjpOZXcoImNsZWFyQnJlYWtwb2ludHMiKSkpOworICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9u
PiBjbGVhckJyZWFrcG9pbnRzID0gdjg6OkxvY2FsPHY4OjpGdW5jdGlvbj46OkNhc3QobV9kZWJ1
Z2dlclNjcmlwdC5nZXQoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiY2xlYXJCcmVha3Bv
aW50cyIpKSk7CiAgICAgdjg6OkRlYnVnOjpDYWxsKGNsZWFyQnJlYWtwb2ludHMpOwogfQogCkBA
IC0xMjQsOCArMTI0LDggQEAgdm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6c2V0QnJlYWtwb2ludHNB
Y3RpdmF0ZWQoYm9vbCBhY3RpdmF0ZWQpCiAgICAgdjg6OkNvbnRleHQ6OlNjb3BlIGNvbnRleHRT
Y29wZShkZWJ1Z2dlckNvbnRleHQpOwogCiAgICAgdjg6OkxvY2FsPHY4OjpPYmplY3Q+IGFyZ3Mg
PSB2ODo6T2JqZWN0OjpOZXcoKTsKLSAgICBhcmdzLT5TZXQodjg6OlN0cmluZzo6TmV3KCJlbmFi
bGVkIiksIHY4OjpCb29sZWFuOjpOZXcoYWN0aXZhdGVkKSk7Ci0gICAgdjg6OkhhbmRsZTx2ODo6
RnVuY3Rpb24+IHNldEJyZWFrcG9pbnRzQWN0aXZhdGVkID0gdjg6OkxvY2FsPHY4OjpGdW5jdGlv
bj46OkNhc3QobV9kZWJ1Z2dlclNjcmlwdC5nZXQoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ldygic2V0
QnJlYWtwb2ludHNBY3RpdmF0ZWQiKSkpOworICAgIGFyZ3MtPlNldCh2ODo6U3RyaW5nOjpOZXdT
eW1ib2woImVuYWJsZWQiKSwgdjg6OkJvb2xlYW46Ok5ldyhhY3RpdmF0ZWQpKTsKKyAgICB2ODo6
SGFuZGxlPHY4OjpGdW5jdGlvbj4gc2V0QnJlYWtwb2ludHNBY3RpdmF0ZWQgPSB2ODo6TG9jYWw8
djg6OkZ1bmN0aW9uPjo6Q2FzdChtX2RlYnVnZ2VyU2NyaXB0LmdldCgpLT5HZXQodjg6OlN0cmlu
Zzo6TmV3U3ltYm9sKCJzZXRCcmVha3BvaW50c0FjdGl2YXRlZCIpKSk7CiAgICAgdjg6OkRlYnVn
OjpDYWxsKHNldEJyZWFrcG9pbnRzQWN0aXZhdGVkLCBhcmdzKTsKIAogICAgIG1fYnJlYWtwb2lu
dHNBY3RpdmF0ZWQgPSBhY3RpdmF0ZWQ7CkBAIC0zNDcsNyArMzQ3LDcgQEAgdm9pZCBTY3JpcHRE
ZWJ1Z1NlcnZlcjo6aGFuZGxlVjhEZWJ1Z0V2ZW50KGNvbnN0IHY4OjpEZWJ1Zzo6RXZlbnREZXRh
aWxzJiBldmVudEQKICAgICAgICAgdjg6OkhhbmRsZVNjb3BlIHNjb3BlOwogICAgICAgICBpZiAo
ZXZlbnQgPT0gdjg6OkFmdGVyQ29tcGlsZSkgewogICAgICAgICAgICAgdjg6OkNvbnRleHQ6OlNj
b3BlIGNvbnRleHRTY29wZSh2ODo6RGVidWc6OkdldERlYnVnQ29udGV4dCgpKTsKLSAgICAgICAg
ICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBvbkFmdGVyQ29tcGlsZUZ1bmN0aW9uID0gdjg6
OkxvY2FsPHY4OjpGdW5jdGlvbj46OkNhc3QobV9kZWJ1Z2dlclNjcmlwdC5nZXQoKS0+R2V0KHY4
OjpTdHJpbmc6Ok5ldygiZ2V0QWZ0ZXJDb21waWxlU2NyaXB0IikpKTsKKyAgICAgICAgICAgIHY4
OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBvbkFmdGVyQ29tcGlsZUZ1bmN0aW9uID0gdjg6OkxvY2Fs
PHY4OjpGdW5jdGlvbj46OkNhc3QobV9kZWJ1Z2dlclNjcmlwdC5nZXQoKS0+R2V0KHY4OjpTdHJp
bmc6Ok5ld1N5bWJvbCgiZ2V0QWZ0ZXJDb21waWxlU2NyaXB0IikpKTsKICAgICAgICAgICAgIHY4
OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7IGV2ZW50RGV0YWlscy5HZXRFdmVudERhdGEo
KSB9OwogICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlID0gb25BZnRlckNv
bXBpbGVGdW5jdGlvbi0+Q2FsbChtX2RlYnVnZ2VyU2NyaXB0LmdldCgpLCAxLCBhcmd2KTsKICAg
ICAgICAgICAgIEFTU0VSVCh2YWx1ZS0+SXNPYmplY3QoKSk7CkBAIC0zNjEsNyArMzYxLDcgQEAg
dm9pZCBTY3JpcHREZWJ1Z1NlcnZlcjo6aGFuZGxlVjhEZWJ1Z0V2ZW50KGNvbnN0IHY4OjpEZWJ1
Zzo6RXZlbnREZXRhaWxzJiBldmVudEQKICAgICAgICAgICAgICAgICBpZiAoIXN0YWNrVHJhY2Ut
PkdldEZyYW1lQ291bnQoKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAg
ICAgICAgIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gZXZlbnREYXRhID0gZXZlbnREZXRhaWxzLkdl
dEV2ZW50RGF0YSgpOwotICAgICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNl
cHRpb25HZXR0ZXJWYWx1ZSA9IGV2ZW50RGF0YS0+R2V0KHY4OjpTdHJpbmc6Ok5ldygiZXhjZXB0
aW9uIikpOworICAgICAgICAgICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBleGNlcHRpb25H
ZXR0ZXJWYWx1ZSA9IGV2ZW50RGF0YS0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZXhjZXB0
aW9uIikpOwogICAgICAgICAgICAgICAgIEFTU0VSVCghZXhjZXB0aW9uR2V0dGVyVmFsdWUuSXNF
bXB0eSgpICYmIGV4Y2VwdGlvbkdldHRlclZhbHVlLT5Jc0Z1bmN0aW9uKCkpOwogICAgICAgICAg
ICAgICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBhcmd2W10gPSB7IHY4VW5kZWZpbmVkKCkgfTsK
ICAgICAgICAgICAgICAgICBWOFJlY3Vyc2lvblNjb3BlOjpNaWNyb3Rhc2tTdXBwcmVzc2lvbiBz
Y29wZTsKQEAgLTM3NywxNyArMzc3LDE3IEBAIHZvaWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmhhbmRs
ZVY4RGVidWdFdmVudChjb25zdCB2ODo6RGVidWc6OkV2ZW50RGV0YWlscyYgZXZlbnRECiAKIHZv
aWQgU2NyaXB0RGVidWdTZXJ2ZXI6OmRpc3BhdGNoRGlkUGFyc2VTb3VyY2UoU2NyaXB0RGVidWdM
aXN0ZW5lciogbGlzdGVuZXIsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gb2JqZWN0KQogewotICAg
IFN0cmluZyBzb3VyY2VJRCA9IHRvV2ViQ29yZVN0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVj
ayhvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImlkIikpKTsKKyAgICBTdHJpbmcgc291cmNl
SUQgPSB0b1dlYkNvcmVTdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2sob2JqZWN0LT5HZXQo
djg6OlN0cmluZzo6TmV3U3ltYm9sKCJpZCIpKSk7CiAKICAgICBTY3JpcHREZWJ1Z0xpc3RlbmVy
OjpTY3JpcHQgc2NyaXB0OwotICAgIHNjcmlwdC51cmwgPSB0b1dlYkNvcmVTdHJpbmdXaXRoVW5k
ZWZpbmVkT3JOdWxsQ2hlY2sob2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJuYW1lIikpKTsK
LSAgICBzY3JpcHQuc291cmNlID0gdG9XZWJDb3JlU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENo
ZWNrKG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ldygic291cmNlIikpKTsKLSAgICBzY3JpcHQu
c291cmNlTWFwcGluZ1VSTCA9IHRvV2ViQ29yZVN0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVj
ayhvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoInNvdXJjZU1hcHBpbmdVUkwiKSkpOwotICAg
IHNjcmlwdC5zdGFydExpbmUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoInN0YXJ0TGlu
ZSIpKS0+VG9JbnRlZ2VyKCktPlZhbHVlKCk7Ci0gICAgc2NyaXB0LnN0YXJ0Q29sdW1uID0gb2Jq
ZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3KCJzdGFydENvbHVtbiIpKS0+VG9JbnRlZ2VyKCktPlZh
bHVlKCk7Ci0gICAgc2NyaXB0LmVuZExpbmUgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXco
ImVuZExpbmUiKSktPlRvSW50ZWdlcigpLT5WYWx1ZSgpOwotICAgIHNjcmlwdC5lbmRDb2x1bW4g
PSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXcoImVuZENvbHVtbiIpKS0+VG9JbnRlZ2VyKCkt
PlZhbHVlKCk7Ci0gICAgc2NyaXB0LmlzQ29udGVudFNjcmlwdCA9IG9iamVjdC0+R2V0KHY4OjpT
dHJpbmc6Ok5ldygiaXNDb250ZW50U2NyaXB0IikpLT5Ub0Jvb2xlYW4oKS0+VmFsdWUoKTsKKyAg
ICBzY3JpcHQudXJsID0gdG9XZWJDb3JlU3RyaW5nV2l0aFVuZGVmaW5lZE9yTnVsbENoZWNrKG9i
amVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgibmFtZSIpKSk7CisgICAgc2NyaXB0LnNv
dXJjZSA9IHRvV2ViQ29yZVN0cmluZ1dpdGhVbmRlZmluZWRPck51bGxDaGVjayhvYmplY3QtPkdl
dCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woInNvdXJjZSIpKSk7CisgICAgc2NyaXB0LnNvdXJjZU1h
cHBpbmdVUkwgPSB0b1dlYkNvcmVTdHJpbmdXaXRoVW5kZWZpbmVkT3JOdWxsQ2hlY2sob2JqZWN0
LT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJzb3VyY2VNYXBwaW5nVVJMIikpKTsKKyAgICBz
Y3JpcHQuc3RhcnRMaW5lID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJzdGFy
dExpbmUiKSktPlRvSW50ZWdlcigpLT5WYWx1ZSgpOworICAgIHNjcmlwdC5zdGFydENvbHVtbiA9
IG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgic3RhcnRDb2x1bW4iKSktPlRvSW50
ZWdlcigpLT5WYWx1ZSgpOworICAgIHNjcmlwdC5lbmRMaW5lID0gb2JqZWN0LT5HZXQodjg6OlN0
cmluZzo6TmV3U3ltYm9sKCJlbmRMaW5lIikpLT5Ub0ludGVnZXIoKS0+VmFsdWUoKTsKKyAgICBz
Y3JpcHQuZW5kQ29sdW1uID0gb2JqZWN0LT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJlbmRD
b2x1bW4iKSktPlRvSW50ZWdlcigpLT5WYWx1ZSgpOworICAgIHNjcmlwdC5pc0NvbnRlbnRTY3Jp
cHQgPSBvYmplY3QtPkdldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2woImlzQ29udGVudFNjcmlwdCIp
KS0+VG9Cb29sZWFuKCktPlZhbHVlKCk7CiAKICAgICBsaXN0ZW5lci0+ZGlkUGFyc2VTb3VyY2Uo
c291cmNlSUQsIHNjcmlwdCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9TY3JpcHRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
T2JqZWN0LmNwcAppbmRleCA4MTU0ZDk3MDVmZmUyYjBlZWIwMzI4NWM4OWEwYjg2Njk2ZTU3YTk5
Li5iMDE4NjJkYmIzODViNDA0M2U4NGE3YTRlMzE3ZjQ3MmQ4ZWI1NTdkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdE9iamVjdC5jcHAKQEAgLTY1LDcgKzY1LDcgQEAgdjg6
OkxvY2FsPHY4OjpPYmplY3Q+IFNjcmlwdE9iamVjdDo6djhPYmplY3QoKSBjb25zdAogYm9vbCBT
Y3JpcHRHbG9iYWxPYmplY3Q6OnNldChTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNo
YXIqIG5hbWUsIGNvbnN0IFNjcmlwdE9iamVjdCYgdmFsdWUpCiB7CiAgICAgU2NyaXB0U2NvcGUg
c2NvcGUoc2NyaXB0U3RhdGUpOwotICAgIHNjb3BlLmdsb2JhbCgpLT5TZXQodjg6OlN0cmluZzo6
TmV3KG5hbWUpLCB2YWx1ZS52OFZhbHVlKCkpOworICAgIHNjb3BlLmdsb2JhbCgpLT5TZXQodjg6
OlN0cmluZzo6TmV3U3ltYm9sKG5hbWUpLCB2YWx1ZS52OFZhbHVlKCkpOwogICAgIHJldHVybiBz
Y29wZS5zdWNjZXNzKCk7CiB9CiAKQEAgLTczLDE0ICs3MywxNCBAQCBib29sIFNjcmlwdEdsb2Jh
bE9iamVjdDo6c2V0KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwg
Y29uc3QgUwogYm9vbCBTY3JpcHRHbG9iYWxPYmplY3Q6OnNldChTY3JpcHRTdGF0ZSogc2NyaXB0
U3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUsIEluc3BlY3RvckZyb250ZW5kSG9zdCogdmFsdWUpCiB7
CiAgICAgU2NyaXB0U2NvcGUgc2NvcGUoc2NyaXB0U3RhdGUpOwotICAgIHNjb3BlLmdsb2JhbCgp
LT5TZXQodjg6OlN0cmluZzo6TmV3KG5hbWUpLCB0b1Y4KHZhbHVlKSk7CisgICAgc2NvcGUuZ2xv
YmFsKCktPlNldCh2ODo6U3RyaW5nOjpOZXdTeW1ib2wobmFtZSksIHRvVjgodmFsdWUpKTsKICAg
ICByZXR1cm4gc2NvcGUuc3VjY2VzcygpOwogfQogCiBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6
c2V0KFNjcmlwdFN0YXRlKiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwgSW5qZWN0ZWRT
Y3JpcHRIb3N0KiB2YWx1ZSkKIHsKICAgICBTY3JpcHRTY29wZSBzY29wZShzY3JpcHRTdGF0ZSk7
Ci0gICAgc2NvcGUuZ2xvYmFsKCktPlNldCh2ODo6U3RyaW5nOjpOZXcobmFtZSksIHRvVjgodmFs
dWUpKTsKKyAgICBzY29wZS5nbG9iYWwoKS0+U2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChuYW1l
KSwgdG9WOCh2YWx1ZSkpOwogICAgIHJldHVybiBzY29wZS5zdWNjZXNzKCk7CiB9CiAjZW5kaWYK
QEAgLTg4LDcgKzg4LDcgQEAgYm9vbCBTY3JpcHRHbG9iYWxPYmplY3Q6OnNldChTY3JpcHRTdGF0
ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNoYXIqIG5hbWUsIEluamVjdGUKIGJvb2wgU2NyaXB0R2xv
YmFsT2JqZWN0OjpnZXQoU2NyaXB0U3RhdGUqIHNjcmlwdFN0YXRlLCBjb25zdCBjaGFyKiBuYW1l
LCBTY3JpcHRPYmplY3QmIHZhbHVlKQogewogICAgIFNjcmlwdFNjb3BlIHNjb3BlKHNjcmlwdFN0
YXRlKTsKLSAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2OFZhbHVlID0gc2NvcGUuZ2xvYmFsKCkt
PkdldCh2ODo6U3RyaW5nOjpOZXcobmFtZSkpOworICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHY4
VmFsdWUgPSBzY29wZS5nbG9iYWwoKS0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChuYW1lKSk7
CiAgICAgaWYgKHY4VmFsdWUuSXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKQEAg
LTEwMiw3ICsxMDIsNyBAQCBib29sIFNjcmlwdEdsb2JhbE9iamVjdDo6Z2V0KFNjcmlwdFN0YXRl
KiBzY3JpcHRTdGF0ZSwgY29uc3QgY2hhciogbmFtZSwgU2NyaXB0TwogYm9vbCBTY3JpcHRHbG9i
YWxPYmplY3Q6OnJlbW92ZShTY3JpcHRTdGF0ZSogc2NyaXB0U3RhdGUsIGNvbnN0IGNoYXIqIG5h
bWUpCiB7CiAgICAgU2NyaXB0U2NvcGUgc2NvcGUoc2NyaXB0U3RhdGUpOwotICAgIHJldHVybiBz
Y29wZS5nbG9iYWwoKS0+RGVsZXRlKHY4OjpTdHJpbmc6Ok5ldyhuYW1lKSk7CisgICAgcmV0dXJu
IHNjb3BlLmdsb2JhbCgpLT5EZWxldGUodjg6OlN0cmluZzo6TmV3U3ltYm9sKG5hbWUpKTsKIH0K
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvVjhCaW5kaW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRp
bmcuaAppbmRleCA2OTBmYjA3NDMxOTViMGVmOWRjZGExOWU4NjQ2MDE4Zjk0MGEzMDMyLi4wMTBi
NjI5ZGU0Y2YyZjdlYTJiNDFjM2MwMDNkNzFhMTljZTIzYzFmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9WOEJpbmRpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOEJpbmRpbmcuaApAQCAtMjgwLDcgKzI4MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgdjg6OkxvY2FsPHY4OjpWYWx1ZT4gdjhWYWx1ZSh2ODo6TG9jYWw8djg6OlZh
bHVlPjo6TmV3KHZhbHVlKSk7CiAgICAgICAgIHY4OjpMb2NhbDx2ODo6T2JqZWN0PiBvYmplY3Qg
PSB2ODo6TG9jYWw8djg6Ok9iamVjdD46OkNhc3QodjhWYWx1ZSk7CiAKLSAgICAgICAgVjhUUllD
QVRDSCh2ODo6TG9jYWw8djg6OlZhbHVlPiwgbGVuZ3RoVmFsdWUsIG9iamVjdC0+R2V0KHY4OjpT
dHJpbmc6Ok5ldygibGVuZ3RoIikpKTsKKyAgICAgICAgVjhUUllDQVRDSCh2ODo6TG9jYWw8djg6
OlZhbHVlPiwgbGVuZ3RoVmFsdWUsIG9iamVjdC0+R2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgi
bGVuZ3RoIikpKTsKIAogICAgICAgICBpZiAobGVuZ3RoVmFsdWUtPklzVW5kZWZpbmVkKCkgfHwg
bGVuZ3RoVmFsdWUtPklzTnVsbCgpKSB7CiAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhET01XaW5kb3dTaGVsbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAppbmRl
eCA0MjY4NzQwMjc5MDgwNzk5MGZhNDNkZDUzYzNkZTkwNjAwZjY1N2JjLi4wNzUxYzIzZWJiYWVk
MDkxZTUzMGVlMjMyY2MzZWJiMDIyMGVlMWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOERPTVdpbmRvd1NoZWxsLmNwcApAQCAtNzgsNyArNzgsNyBAQCBzdGF0aWMgdm9p
ZCBzZXRJbmplY3RlZFNjcmlwdENvbnRleHREZWJ1Z0lkKHY4OjpIYW5kbGU8djg6OkNvbnRleHQ+
IHRhcmdldENvbnRleAogICAgICAgICBzbnByaW50ZihidWZmZXIsIHNpemVvZihidWZmZXIpLCAi
aW5qZWN0ZWQiKTsKICAgICBlbHNlCiAgICAgICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1
ZmZlciksICJpbmplY3RlZCwlZCIsIGRlYnVnSWQpOwotICAgIHRhcmdldENvbnRleHQtPlNldEVt
YmVkZGVyRGF0YSgwLCB2ODo6U3RyaW5nOjpOZXcoYnVmZmVyKSk7CisgICAgdGFyZ2V0Q29udGV4
dC0+U2V0RW1iZWRkZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5ld1N5bWJvbChidWZmZXIpKTsKIH0K
IAogUGFzc093blB0cjxWOERPTVdpbmRvd1NoZWxsPiBWOERPTVdpbmRvd1NoZWxsOjpjcmVhdGUo
RnJhbWUqIGZyYW1lLCBQYXNzUmVmUHRyPERPTVdyYXBwZXJXb3JsZD4gd29ybGQpCkBAIC0zNjYs
NyArMzY2LDcgQEAgdm9pZCBWOERPTVdpbmRvd1NoZWxsOjp1cGRhdGVEb2N1bWVudFByb3BlcnR5
KCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBBU1NFUlQoZG9jdW1lbnRXcmFwcGVyLT5J
c09iamVjdCgpKTsKLSAgICBtX2NvbnRleHQtPkdsb2JhbCgpLT5Gb3JjZVNldCh2ODo6U3RyaW5n
OjpOZXcoImRvY3VtZW50IiksIGRvY3VtZW50V3JhcHBlciwgc3RhdGljX2Nhc3Q8djg6OlByb3Bl
cnR5QXR0cmlidXRlPih2ODo6UmVhZE9ubHkgfCB2ODo6RG9udERlbGV0ZSkpOworICAgIG1fY29u
dGV4dC0+R2xvYmFsKCktPkZvcmNlU2V0KHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZG9jdW1lbnQi
KSwgZG9jdW1lbnRXcmFwcGVyLCBzdGF0aWNfY2FzdDx2ODo6UHJvcGVydHlBdHRyaWJ1dGU+KHY4
OjpSZWFkT25seSB8IHY4OjpEb250RGVsZXRlKSk7CiAKICAgICAvLyBXZSBhbHNvIHN0YXNoIGEg
cmVmZXJlbmNlIHRvIHRoZSBkb2N1bWVudCBvbiB0aGUgaW5uZXIgZ2xvYmFsIG9iamVjdCBzbyB0
aGF0CiAgICAgLy8gRE9NV2luZG93IG9iamVjdHMgd2Ugb2J0YWluIGZyb20gSmF2YVNjcmlwdCBy
ZWZlcmVuY2VzIGFyZSBndWFyYW50ZWVkIHRvIGhhdmUKQEAgLTM3OSw3ICszNzksNyBAQCB2b2lk
IFY4RE9NV2luZG93U2hlbGw6OmNsZWFyRG9jdW1lbnRQcm9wZXJ0eSgpCiAgICAgQVNTRVJUKCFt
X2NvbnRleHQuaXNFbXB0eSgpKTsKICAgICBpZiAoIW1fd29ybGQtPmlzTWFpbldvcmxkKCkpCiAg
ICAgICAgIHJldHVybjsKLSAgICBtX2NvbnRleHQtPkdsb2JhbCgpLT5Gb3JjZURlbGV0ZSh2ODo6
U3RyaW5nOjpOZXcoImRvY3VtZW50IikpOworICAgIG1fY29udGV4dC0+R2xvYmFsKCktPkZvcmNl
RGVsZXRlKHY4OjpTdHJpbmc6Ok5ld1N5bWJvbCgiZG9jdW1lbnQiKSk7CiB9CiAKIHZvaWQgVjhE
T01XaW5kb3dTaGVsbDo6c2V0U2VjdXJpdHlUb2tlbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOE5QT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4TlBPYmplY3QuY3BwCmluZGV4IGI1YTIxYzBlOGM5MmQ4NzY2ODg2ZmMxMmQzMTU1NjYy
YmNhM2MxNzkuLmQ2YmEwMmIzMDU4ZDA5YmZmYWYzYThkODQ5NzczNzVmNWZjOTgxZWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4TlBPYmplY3QuY3BwCkBAIC0zNTQsNyArMzU0LDcg
QEAgdjg6OkhhbmRsZTx2ODo6QXJyYXk+IG5wT2JqZWN0UHJvcGVydHlFbnVtZXJhdG9yKGNvbnN0
IHY4OjpBY2Nlc3NvckluZm8mIGluZm8sIGIKICAgICAgICAgICAgIGZvciAodWludDMyX3QgaSA9
IDA7IGkgPCBjb3VudDsgKytpKSB7CiAgICAgICAgICAgICAgICAgSWRlbnRpZmllclJlcCogaWRl
bnRpZmllciA9IHN0YXRpY19jYXN0PElkZW50aWZpZXJSZXAqPihpZGVudGlmaWVyc1tpXSk7CiAg
ICAgICAgICAgICAgICAgaWYgKG5hbWVkUHJvcGVydHkpCi0gICAgICAgICAgICAgICAgICAgIHBy
b3BlcnRpZXMtPlNldCh2OEludGVnZXIoaSwgaW5mby5HZXRJc29sYXRlKCkpLCB2ODo6U3RyaW5n
OjpOZXcoaWRlbnRpZmllci0+c3RyaW5nKCkpKTsKKyAgICAgICAgICAgICAgICAgICAgcHJvcGVy
dGllcy0+U2V0KHY4SW50ZWdlcihpLCBpbmZvLkdldElzb2xhdGUoKSksIHY4OjpTdHJpbmc6Ok5l
d1N5bWJvbChpZGVudGlmaWVyLT5zdHJpbmcoKSkpOwogICAgICAgICAgICAgICAgIGVsc2UKICAg
ICAgICAgICAgICAgICAgICAgcHJvcGVydGllcy0+U2V0KHY4SW50ZWdlcihpLCBpbmZvLkdldElz
b2xhdGUoKSksIHY4SW50ZWdlcihpZGVudGlmaWVyLT5udW1iZXIoKSwgaW5mby5HZXRJc29sYXRl
KCkpKTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4Tm9kZUZpbHRlckNvbmRpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9WOE5vZGVGaWx0ZXJDb25kaXRpb24uY3BwCmluZGV4IGMzYjY3MmFmNGI5MGJlYmJlYjc4ZGM0
Njc5MTM2ZmU1NjhkNjhmYjYuLmIzYmY5ZWM4MmVlZWFmNTQwYjNmNTFiZWViOWNkYzA5MzljMzI2
MjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4Tm9kZUZpbHRlckNv
bmRpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhOb2RlRmlsdGVy
Q29uZGl0aW9uLmNwcApAQCAtNzAsNyArNzAsNyBAQCBzaG9ydCBWOE5vZGVGaWx0ZXJDb25kaXRp
b246OmFjY2VwdE5vZGUoU2NyaXB0U3RhdGUqIHN0YXRlLCBOb2RlKiBub2RlKSBjb25zdAogICAg
IGlmIChtX2NhbGxiYWNrLT5Jc0Z1bmN0aW9uKCkpCiAgICAgICAgIGNhbGxiYWNrID0gdjg6Okhh
bmRsZTx2ODo6RnVuY3Rpb24+OjpDYXN0KG1fY2FsbGJhY2suZ2V0KCkpOwogICAgIGVsc2Ugewot
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSA9IG1fY2FsbGJhY2stPlRvT2JqZWN0
KCktPkdldCh2ODo6U3RyaW5nOjpOZXcoImFjY2VwdE5vZGUiKSk7CisgICAgICAgIHY4OjpMb2Nh
bDx2ODo6VmFsdWU+IHZhbHVlID0gbV9jYWxsYmFjay0+VG9PYmplY3QoKS0+R2V0KHY4OjpTdHJp
bmc6Ok5ld1N5bWJvbCgiYWNjZXB0Tm9kZSIpKTsKICAgICAgICAgaWYgKCF2YWx1ZS0+SXNGdW5j
dGlvbigpKSB7CiAgICAgICAgICAgICB0aHJvd1R5cGVFcnJvcigiTm9kZUZpbHRlciBvYmplY3Qg
ZG9lcyBub3QgaGF2ZSBhbiBhY2NlcHROb2RlIGZ1bmN0aW9uIik7CiAgICAgICAgICAgICByZXR1
cm4gTm9kZUZpbHRlcjo6RklMVEVSX1JFSkVDVDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4UGVySXNvbGF0ZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhQZXJJc29sYXRlRGF0YS5jcHAKaW5kZXggNDUxYjYyYmU1NDcwZTJmYTg3MzhhNzdi
NjExZWFiMjAwMmRmYjdhOC4uMjk4MjRiMTQyNzAzOGEwNTY3M2VhOGVjZGU5Yzg3ZDIxY2I1ZmYy
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0
YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQZXJJc29sYXRlRGF0YS5j
cHAKQEAgLTE0NSw3ICsxNDUsNyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQZXJJc29sYXRl
RGF0YTo6Y29uc3RydWN0b3JPZlRvU3RyaW5nKGNvbnN0IHY4OjpBcmd1bWVudAogICAgIC8vIG9i
c2N1cmUgYW5kIHVubGlrZWx5IHRvIGJlIGEgcHJvYmxlbS4KICAgICB2ODo6SGFuZGxlPHY4OjpW
YWx1ZT4gdmFsdWUgPSBhcmdzLkNhbGxlZSgpLT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJ0
b1N0cmluZyIpKTsKICAgICBpZiAoIXZhbHVlLT5Jc0Z1bmN0aW9uKCkpIAotICAgICAgICByZXR1
cm4gdjg6OlN0cmluZzo6TmV3KCIiKTsKKyAgICAgICAgcmV0dXJuIHY4OjpTdHJpbmc6OkVtcHR5
KGFyZ3MuR2V0SXNvbGF0ZSgpKTsKICAgICByZXR1cm4gdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+
OjpDYXN0KHZhbHVlKS0+Q2FsbChhcmdzLlRoaXMoKSwgMCwgMCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKaW5k
ZXggZWU1M2IyMDU2MDJmYzNkNmRiMDRlZTVlYTg0NTFhYmE1ZGJlODU3Mi4uODcyMDExYWY4MzU5
MzJhNTdiYWZmZTkxNTdjZmU3YWE3Y2E3ZDJjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0Q29udHJvbGxlci5jcHAKQEAgLTExMiw3ICsxMTIs
NyBAQCBib29sIFdvcmtlclNjcmlwdENvbnRyb2xsZXI6OmluaXRpYWxpemVDb250ZXh0SWZOZWVk
ZWQoKQogICAgIH0KIAogICAgIC8vIFNldCBEZWJ1Z0lkIGZvciB0aGUgbmV3IGNvbnRleHQuCi0g
ICAgY29udGV4dC0+U2V0RW1iZWRkZXJEYXRhKDAsIHY4OjpTdHJpbmc6Ok5ldygid29ya2VyIikp
OworICAgIGNvbnRleHQtPlNldEVtYmVkZGVyRGF0YSgwLCB2ODo6U3RyaW5nOjpOZXdTeW1ib2wo
IndvcmtlciIpKTsKIAogICAgIC8vIENyZWF0ZSBhIG5ldyBKUyBvYmplY3QgYW5kIHVzZSBpdCBh
cyB0aGUgcHJvdG90eXBlIGZvciB0aGUgc2hhZG93IGdsb2JhbCBvYmplY3QuCiAgICAgV3JhcHBl
clR5cGVJbmZvKiBjb250ZXh0VHlwZSA9ICZWOERlZGljYXRlZFdvcmtlckNvbnRleHQ6OmluZm87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHREZWJ1
Z1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9Xb3JrZXJTY3JpcHREZWJ1
Z1NlcnZlci5jcHAKaW5kZXggMjk3NzVmYzhiMjkxZTU5MmIwNmFmYTljYTI1MjcyMDdiODIxYTkz
ZC4uNDU1OWE5YWQ5MDlhMWNhYjkyZjBlYjc1N2YxNjcwNDk4YzFmNzQyNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1dvcmtlclNjcmlwdERlYnVnU2VydmVyLmNw
cApAQCAtNjUsNyArNjUsNyBAQCB2b2lkIFdvcmtlclNjcmlwdERlYnVnU2VydmVyOjphZGRMaXN0
ZW5lcihTY3JpcHREZWJ1Z0xpc3RlbmVyKiBsaXN0ZW5lcikKICAgICBBU1NFUlQoIW1fZGVidWdn
ZXJTY3JpcHQuZ2V0KCktPklzVW5kZWZpbmVkKCkpOwogICAgIHY4OjpEZWJ1Zzo6U2V0RGVidWdF
dmVudExpc3RlbmVyMigmV29ya2VyU2NyaXB0RGVidWdTZXJ2ZXI6OnY4RGVidWdFdmVudENhbGxi
YWNrLCB2ODo6RXh0ZXJuYWw6Ok5ldyh0aGlzKSk7CiAgICAgCi0gICAgdjg6OkhhbmRsZTx2ODo6
RnVuY3Rpb24+IGdldFNjcmlwdHNGdW5jdGlvbiA9IHY4OjpMb2NhbDx2ODo6RnVuY3Rpb24+OjpD
YXN0KG1fZGVidWdnZXJTY3JpcHQuZ2V0KCktPkdldCh2ODo6U3RyaW5nOjpOZXcoImdldFdvcmtl
clNjcmlwdHMiKSkpOworICAgIHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPiBnZXRTY3JpcHRzRnVu
Y3Rpb24gPSB2ODo6TG9jYWw8djg6OkZ1bmN0aW9uPjo6Q2FzdChtX2RlYnVnZ2VyU2NyaXB0Lmdl
dCgpLT5HZXQodjg6OlN0cmluZzo6TmV3U3ltYm9sKCJnZXRXb3JrZXJTY3JpcHRzIikpKTsKICAg
ICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gYXJndltdID0geyB2OFVuZGVmaW5lZCgpIH07CiAgICAg
djg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlID0gZ2V0U2NyaXB0c0Z1bmN0aW9uLT5DYWxsKG1f
ZGVidWdnZXJTY3JpcHQuZ2V0KCksIDAsIGFyZ3YpOwogICAgIGlmICh2YWx1ZS5Jc0VtcHR5KCkp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>