<?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>131684</bug_id>
          
          <creation_ts>2014-04-15 11:29:57 -0700</creation_ts>
          <short_desc>Make IPC::Arguments a variadic template</short_desc>
          <delta_ts>2014-04-16 16:47:38 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>andersca</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1000904</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-15 11:29:57 -0700</bug_when>
    <thetext>Make IPC::Arguments a variadic template</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1000906</commentid>
    <comment_count>1</comment_count>
      <attachid>229386</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-15 11:38:08 -0700</bug_when>
    <thetext>Created attachment 229386
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001394</commentid>
    <comment_count>2</comment_count>
      <attachid>229386</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-16 16:47:28 -0700</bug_when>
    <thetext>Comment on attachment 229386
Patch

Clearing flags on attachment: 229386

Committed r167399: &lt;http://trac.webkit.org/changeset/167399&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001395</commentid>
    <comment_count>3</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-04-16 16:47:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229386</attachid>
            <date>2014-04-15 11:38:08 -0700</date>
            <delta_ts>2014-04-16 16:47:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131684-20140415113745.patch</filename>
            <type>text/plain</type>
            <size>20712</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2NzMxNykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDE0LTA0LTE1ICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNYWtlIElQQzo6QXJndW1l
bnRzIGEgdmFyaWFkaWMgdGVtcGxhdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzMTY4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIE1ha2UgSVBDOjpBcmd1bWVudHMgYSB2YXJpYWRpYyB0ZW1wbGF0ZSB0
aGF0IHVzZXMgdGhlIHRlbXBsYXRlIHBhcmFtZXRlciBwYWNrIHRvIGZ1cnRoZXIKKyAgICAgICAg
ZGVmaW5lIHRoZSBzdGQ6OnR1cGxlIFZhbHVlVHlwZSBhbmQgaXMgdXNlZCB0byBkZWZpbmUgdGhl
IHN0ZDo6dHVwbGUgY29udGFpbmVyIG9mIHRoZQorICAgICAgICB2YWx1ZXMgcGFzc2VkIGludG8g
dGhlIGNvbnRhaW5lci4KKworICAgICAgICAqIFBsYXRmb3JtL0lQQy9Bcmd1bWVudHMuaDoKKyAg
ICAgICAgKElQQzo6QXJndW1lbnRzOjpBcmd1bWVudHMpOgorICAgICAgICAoSVBDOjpBcmd1bWVu
dHM6OmVuY29kZSk6CisgICAgICAgIChJUEM6OkFyZ3VtZW50czo6ZGVjb2RlKToKKyAgICAgICAg
KElQQzo6QXJndW1lbnRzMDo6ZW5jb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1l
bnRzMDo6ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRzMTo6QXJndW1l
bnRzMSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50czE6OmVuY29kZSk6IERlbGV0
ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50czE6OmRlY29kZSk6IERlbGV0ZWQuCisgICAgICAg
IChJUEM6OkFyZ3VtZW50czI6OkFyZ3VtZW50czIpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpB
cmd1bWVudHMyOjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudHMyOjpk
ZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudHMzOjpBcmd1bWVudHMzKTog
RGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRzMzo6ZW5jb2RlKTogRGVsZXRlZC4KKyAg
ICAgICAgKElQQzo6QXJndW1lbnRzMzo6ZGVjb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6
QXJndW1lbnRzNDo6QXJndW1lbnRzNCk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50
czQ6OmVuY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50czQ6OmRlY29kZSk6
IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50czU6OkFyZ3VtZW50czUpOiBEZWxldGVk
LgorICAgICAgICAoSVBDOjpBcmd1bWVudHM1OjplbmNvZGUpOiBEZWxldGVkLgorICAgICAgICAo
SVBDOjpBcmd1bWVudHM1OjpkZWNvZGUpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVu
dHM2OjpBcmd1bWVudHM2KTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRzNjo6ZW5j
b2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRzNjo6ZGVjb2RlKTogRGVsZXRl
ZC4KKyAgICAgICAgKElQQzo6QXJndW1lbnRzNzo6QXJndW1lbnRzNyk6IERlbGV0ZWQuCisgICAg
ICAgIChJUEM6OkFyZ3VtZW50czc6OmVuY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFy
Z3VtZW50czc6OmRlY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChJUEM6OkFyZ3VtZW50czg6OkFy
Z3VtZW50czgpOiBEZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudHM4OjplbmNvZGUpOiBE
ZWxldGVkLgorICAgICAgICAoSVBDOjpBcmd1bWVudHM4OjpkZWNvZGUpOiBEZWxldGVkLgorICAg
ICAgICAoSVBDOjpBcmd1bWVudHMxMDo6QXJndW1lbnRzMTApOiBEZWxldGVkLgorICAgICAgICAo
SVBDOjpBcmd1bWVudHMxMDo6ZW5jb2RlKTogRGVsZXRlZC4KKyAgICAgICAgKElQQzo6QXJndW1l
bnRzMTA6OmRlY29kZSk6IERlbGV0ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL0xlZ2Fj
eU1lc3NhZ2VzLWV4cGVjdGVkLmg6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL01lc3NhZ2Vz
LWV4cGVjdGVkLmg6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5OiBDbGVh
biB1cCB0aGUgY29kZSBhIGJpdC4KKyAgICAgICAgKHJlcGx5X3BhcmFtZXRlcl90eXBlKToKKyAg
ICAgICAgKGFyZ3VtZW50c190eXBlKToKKyAgICAgICAgKHJlcGx5X3R5cGUpOgorICAgICAgICAo
ZGVjb2RlX3R5cGUpOgorICAgICAgICAoYXJndW1lbnRzX3R5cGVfb2xkKTogRGVsZXRlZC4KKyAg
ICAgICAgKGJhc2VfY2xhc3MpOiBEZWxldGVkLgorICAgICAgICAoZGVsYXllZF9yZXBseV90eXBl
KTogRGVsZXRlZC4KKwogMjAxNC0wNC0xNSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFw
cGxlLmNvbT4KIAogICAgICAgICBbaU9TIFdLMl0gUGFnZXMgb2Z0ZW4gYmxhbmsgb24gZmlyc3Qg
bG9hZCBpZiBwYWdlIGxvYWRlZCBieSB0eXBpbmcgdGhlIFVSTApJbmRleDogU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL0lQQy9Bcmd1bWVudHMuaAkocmV2aXNpb24gMTY3MzE3KQorKysgU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vSVBDL0FyZ3VtZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC03MSwzMTkg
KzcxLDI2IEBAIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEVsZW1lbnRzPiBzdHJ1Y3QgQXIKICAgICB9
CiB9OwogCi1zdHJ1Y3QgQXJndW1lbnRzMCB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPD4gVmFs
dWVUeXBlOwordGVtcGxhdGU8dHlwZW5hbWUuLi4gVHlwZXM+CitzdHJ1Y3QgQXJndW1lbnRzIHsK
KyAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgc3RkOjpkZWNheTxUeXBlcz46OnR5cGUu
Li4+IFZhbHVlVHlwZTsKIAotICAgIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYpIGNvbnN0
IAotICAgIHsKLSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiwgQXJndW1lbnRzMCYpCi0gICAgewotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci19Owot
Ci10ZW1wbGF0ZTx0eXBlbmFtZSBUMT4gc3RydWN0IEFyZ3VtZW50czEgewotICAgIHR5cGVkZWYg
c3RkOjp0dXBsZTx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92
ZV9yZWZlcmVuY2U8VDE+Ojp0eXBlPjo6dHlwZT4gVmFsdWVUeXBlOwotCi0gICAgQXJndW1lbnRz
MSgpCi0gICAgewotICAgIH0KLQotICAgIEFyZ3VtZW50czEoVDEgdDEpIAotICAgICAgICA6IGFy
Z3VtZW50MSh0MSkKKyAgICBBcmd1bWVudHMoVHlwZXMmJi4uLiB2YWx1ZXMpCisgICAgICAgIDog
YXJndW1lbnRzKHN0ZDo6Zm9yd2FyZDxUeXBlcz4odmFsdWVzKS4uLikKICAgICB7CiAgICAgfQog
CiAgICAgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgIHsK
LSAgICAgICAgZW5jb2RlciA8PCBhcmd1bWVudDE7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wg
ZGVjb2RlKEFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgQXJndW1lbnRzMSYgcmVzdWx0KQotICAg
IHsKLSAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJlc3VsdC5hcmd1bWVudDEpOwotICAg
IH0KLSAgICAKLSAgICBUMSBhcmd1bWVudDE7Ci19OwotICAgIAotdGVtcGxhdGU8dHlwZW5hbWUg
VDEsIHR5cGVuYW1lIFQyPiBzdHJ1Y3QgQXJndW1lbnRzMiA6IEFyZ3VtZW50czE8VDE+IHsKLSAg
ICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8dHlwZW5hbWUg
c3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQxPjo6dHlwZT46OnR5cGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3Jl
ZmVyZW5jZTxUMj46OnR5cGU+Ojp0eXBlPiBWYWx1ZVR5cGU7Ci0KLSAgICBBcmd1bWVudHMyKCkg
Ci0gICAgewotICAgIH0KLQotICAgIEFyZ3VtZW50czIoVDEgdDEsIFQyIHQyKSAKLSAgICAgICAg
OiBBcmd1bWVudHMxPFQxPih0MSkKLSAgICAgICAgLCBhcmd1bWVudDIodDIpCi0gICAgewotICAg
IH0KLQotICAgIHZvaWQgZW5jb2RlKEFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLSAg
ICB7Ci0gICAgICAgIEFyZ3VtZW50czE8VDE+OjplbmNvZGUoZW5jb2Rlcik7Ci0gICAgICAgIGVu
Y29kZXIgPDwgYXJndW1lbnQyOwotICAgIH0KLQotICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1
bWVudERlY29kZXImIGRlY29kZXIsIEFyZ3VtZW50czImIHJlc3VsdCkKLSAgICB7Ci0gICAgICAg
IGlmICghQXJndW1lbnRzMTxUMT46OmRlY29kZShkZWNvZGVyLCByZXN1bHQpKQotICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5hcmd1bWVudDIpOwotICAgIH0KLQotICAgIFQyIGFyZ3VtZW50MjsKLX07Ci0KLXRl
bXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDM+IHN0cnVjdCBBcmd1
bWVudHMzIDogQXJndW1lbnRzMjxUMSwgVDI+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlw
ZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQx
Pjo6dHlwZT46OnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUMj46OnR5cGU+Ojp0eXBl
LAotICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBl
bmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDM+Ojp0eXBlPjo6dHlwZT4gVmFsdWVUeXBlOwot
Ci0gICAgQXJndW1lbnRzMygpCi0gICAgewotICAgIH0KLQotICAgIEFyZ3VtZW50czMoVDEgdDEs
IFQyIHQyLCBUMyB0MykgCi0gICAgICAgIDogQXJndW1lbnRzMjxUMSwgVDI+KHQxLCB0MikKLSAg
ICAgICAgLCBhcmd1bWVudDModDMpCi0gICAgewotICAgIH0KLQotICAgIHZvaWQgZW5jb2RlKEFy
Z3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLSAgICB7Ci0gICAgICAgIEFyZ3VtZW50czI8
VDEsIFQyPjo6ZW5jb2RlKGVuY29kZXIpOwotICAgICAgICBlbmNvZGVyIDw8IGFyZ3VtZW50MzsK
LSAgICB9Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBBcmd1bWVudHMzJiByZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoIUFyZ3VtZW50czI8VDEs
IFQyPjo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7
Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFyZ3VtZW50
Myk7Ci0gICAgfQotCi0gICAgVDMgYXJndW1lbnQzOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUg
VDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQ+IHN0cnVjdCBBcmd1bWVu
dHM0IDogQXJndW1lbnRzMzxUMSwgVDIsIFQzPiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxU
MT46OnR5cGU+Ojp0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJl
bW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDI+Ojp0eXBlPjo6dHlw
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8dHlw
ZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQzPjo6dHlwZT46OnR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX3JlZmVyZW5jZTxUND46OnR5cGU+Ojp0eXBlPiBWYWx1ZVR5cGU7Ci0KLSAgICBBcmd1bWVu
dHM0KCkKLSAgICB7Ci0gICAgfQotCi0gICAgQXJndW1lbnRzNChUMSB0MSwgVDIgdDIsIFQzIHQz
LCBUNCB0NCkKLSAgICAgICAgOiBBcmd1bWVudHMzPFQxLCBUMiwgVDM+KHQxLCB0MiwgdDMpCi0g
ICAgICAgICwgYXJndW1lbnQ0KHQ0KQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGVuY29kZShB
cmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci0gICAgewotICAgICAgICBBcmd1bWVudHMz
PFQxLCBUMiwgVDM+OjplbmNvZGUoZW5jb2Rlcik7Ci0gICAgICAgIGVuY29kZXIgPDwgYXJndW1l
bnQ0OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBBcmd1bWVudHM0JiByZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoIUFyZ3Vt
ZW50czM8VDEsIFQyLCBUMz46OmRlY29kZShkZWNvZGVyLCByZXN1bHQpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJl
c3VsdC5hcmd1bWVudDQpOwotICAgIH0KLQotICAgIFQ0IGFyZ3VtZW50NDsKLX07Ci0KLXRlbXBs
YXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0
eXBlbmFtZSBUNT4gc3RydWN0IEFyZ3VtZW50czUgOiBBcmd1bWVudHM0PFQxLCBUMiwgVDMsIFQ0
PiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUMT46OnR5cGU+Ojp0eXBlLAotICAgICAgICAg
ICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJl
bW92ZV9yZWZlcmVuY2U8VDI+Ojp0eXBlPjo6dHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
dHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNl
PFQzPjo6dHlwZT46OnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6
cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUND46OnR5cGU+Ojp0
eXBlLAotICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0
eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDU+Ojp0eXBlPjo6dHlwZT4gVmFsdWVUeXBl
OwotCi0gICAgQXJndW1lbnRzNSgpCi0gICAgeworICAgICAgICBBcmd1bWVudENvZGVyPHN0ZDo6
dHVwbGU8VHlwZXMuLi4+Pjo6ZW5jb2RlKGVuY29kZXIsIGFyZ3VtZW50cyk7CiAgICAgfQogCi0g
ICAgQXJndW1lbnRzNShUMSB0MSwgVDIgdDIsIFQzIHQzLCBUNCB0NCwgVDUgdDUpCi0gICAgICAg
IDogQXJndW1lbnRzNDxUMSwgVDIsIFQzLCBUND4odDEsIHQyLCB0MywgdDQpCi0gICAgICAgICwg
YXJndW1lbnQ1KHQ1KQorICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImIGRl
Y29kZXIsIEFyZ3VtZW50cyYgcmVzdWx0KQogICAgIHsKKyAgICAgICAgcmV0dXJuIEFyZ3VtZW50
Q29kZXI8c3RkOjp0dXBsZTxUeXBlcy4uLj4+OjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0LmFyZ3Vt
ZW50cyk7CiAgICAgfQogCi0gICAgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAotICAgIHsKLSAgICAgICAgQXJndW1lbnRzNDxUMSwgVDIsIFQzLCBUND46OmVuY29k
ZShlbmNvZGVyKTsKLSAgICAgICAgZW5jb2RlciA8PCBhcmd1bWVudDU7Ci0gICAgfQotICAgIAot
ICAgIHN0YXRpYyBib29sIGRlY29kZShBcmd1bWVudERlY29kZXImIGRlY29kZXIsIEFyZ3VtZW50
czUmIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGlmICghQXJndW1lbnRzNDxUMSwgVDIsIFQzLCBU
ND46OmRlY29kZShkZWNvZGVyLCByZXN1bHQpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICAKLSAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJlc3VsdC5hcmd1bWVudDUp
OwotICAgIH0KLQotICAgIFQ1IGFyZ3VtZW50NTsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQx
LCB0eXBlbmFtZSBUMiwgdHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNSwgdHlw
ZW5hbWUgVDY+IHN0cnVjdCBBcmd1bWVudHM2IDogQXJndW1lbnRzNTxUMSwgVDIsIFQzLCBUNCwg
VDU+IHsKLSAgICB0eXBlZGVmIHN0ZDo6dHVwbGU8dHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8
dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQxPjo6dHlwZT46OnR5cGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6
cmVtb3ZlX3JlZmVyZW5jZTxUMj46OnR5cGU+Ojp0eXBlLAotICAgICAgICAgICAgICAgICAgICAg
ICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVu
Y2U8VDM+Ojp0eXBlPjo6dHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3Rk
OjpyZW1vdmVfY29uc3Q8dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQ0Pjo6dHlwZT46
OnR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0
PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUNT46OnR5cGU+Ojp0eXBlLAotICAgICAg
ICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6
OnJlbW92ZV9yZWZlcmVuY2U8VDY+Ojp0eXBlPjo6dHlwZT4gVmFsdWVUeXBlOwotCi0gICAgQXJn
dW1lbnRzNigpCi0gICAgewotICAgIH0KLQotICAgIEFyZ3VtZW50czYoVDEgdDEsIFQyIHQyLCBU
MyB0MywgVDQgdDQsIFQ1IHQ1LCBUNiB0NikKLSAgICAgICAgOiBBcmd1bWVudHM1PFQxLCBUMiwg
VDMsIFQ0LCBUNT4odDEsIHQyLCB0MywgdDQsIHQ1KQotICAgICAgICAsIGFyZ3VtZW50Nih0NikK
LSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAotICAgIHsKLSAgICAgICAgQXJndW1lbnRzNTxUMSwgVDIsIFQzLCBUNCwgVDU+Ojpl
bmNvZGUoZW5jb2Rlcik7Ci0gICAgICAgIGVuY29kZXIgPDwgYXJndW1lbnQ2OwotICAgIH0KLSAg
ICAKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBBcmd1
bWVudHM2JiByZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoIUFyZ3VtZW50czU8VDEsIFQyLCBU
MywgVDQsIFQ1Pjo6ZGVjb2RlKGRlY29kZXIsIHJlc3VsdCkpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0gICAgICAgIAotICAgICAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFy
Z3VtZW50Nik7Ci0gICAgfQotCi0gICAgVDYgYXJndW1lbnQ2OwotfTsKLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1l
IFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDc+IHN0cnVjdCBBcmd1bWVudHM3IDogQXJndW1l
bnRzNjxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2PiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxU
MT46OnR5cGU+Ojp0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICB0eXBlbmFtZSBzdGQ6OnJl
bW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDI+Ojp0eXBlPjo6dHlw
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpyZW1vdmVfY29uc3Q8dHlw
ZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQzPjo6dHlwZT46OnR5cGUsCi0gICAgICAgICAg
ICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX3JlZmVyZW5jZTxUND46OnR5cGU+Ojp0eXBlLAotICAgICAgICAgICAgICAgICAgICAgICB0
eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8
VDU+Ojp0eXBlPjo6dHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgdHlwZW5hbWUgc3RkOjpy
ZW1vdmVfY29uc3Q8dHlwZW5hbWUgc3RkOjpyZW1vdmVfcmVmZXJlbmNlPFQ2Pjo6dHlwZT46OnR5
cGUsCi0gICAgICAgICAgICAgICAgICAgICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUNz46OnR5cGU+Ojp0eXBlPiBWYWx1ZVR5cGU7
Ci0KLSAgICBBcmd1bWVudHM3KCkKLSAgICB7Ci0gICAgfQotCi0gICAgQXJndW1lbnRzNyhUMSB0
MSwgVDIgdDIsIFQzIHQzLCBUNCB0NCwgVDUgdDUsIFQ2IHQ2LCBUNyB0NykKLSAgICAgICAgOiBB
cmd1bWVudHM2PFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDY+KHQxLCB0MiwgdDMsIHQ0LCB0NSwgdDYp
Ci0gICAgICAgICwgYXJndW1lbnQ3KHQ3KQotICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGVuY29k
ZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci0gICAgewotICAgICAgICBBcmd1bWVu
dHM2PFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDY+OjplbmNvZGUoZW5jb2Rlcik7Ci0gICAgICAgIGVu
Y29kZXIgPDwgYXJndW1lbnQ3OwotICAgIH0KLSAgICAKLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBBcmd1bWVudHM3JiByZXN1bHQpCi0gICAgewotICAg
ICAgICBpZiAoIUFyZ3VtZW50czY8VDEsIFQyLCBUMywgVDQsIFQ1LCBUNj46OmRlY29kZShkZWNv
ZGVyLCByZXN1bHQpKQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICAKLSAgICAg
ICAgcmV0dXJuIGRlY29kZXIuZGVjb2RlKHJlc3VsdC5hcmd1bWVudDcpOwotICAgIH0KLQotICAg
IFQ3IGFyZ3VtZW50NzsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQxLCB0eXBlbmFtZSBUMiwg
dHlwZW5hbWUgVDMsIHR5cGVuYW1lIFQ0LCB0eXBlbmFtZSBUNSwgdHlwZW5hbWUgVDYsIHR5cGVu
YW1lIFQ3LCB0eXBlbmFtZSBUOD4gc3RydWN0IEFyZ3VtZW50czggOiBBcmd1bWVudHM3PFQxLCBU
MiwgVDMsIFQ0LCBUNSwgVDYsIFQ3PiB7Ci0gICAgdHlwZWRlZiBzdGQ6OnR1cGxlPHR5cGVuYW1l
IHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUMT46OnR5
cGU+Ojp0eXBlLAotICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6
cmVtb3ZlX3JlZmVyZW5jZTxUMj46OnR5cGU+Ojp0eXBlLAotICAgIHR5cGVuYW1lIHN0ZDo6cmVt
b3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUMz46OnR5cGU+Ojp0eXBl
LAotICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3Jl
ZmVyZW5jZTxUND46OnR5cGU+Ojp0eXBlLAotICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0
PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUNT46OnR5cGU+Ojp0eXBlLAotICAgIHR5
cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxU
Nj46OnR5cGU+Ojp0eXBlLAotICAgIHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1l
IHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUNz46OnR5cGU+Ojp0eXBlLAotICAgIHR5cGVuYW1lIHN0
ZDo6cmVtb3ZlX2NvbnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUOD46OnR5cGU+
Ojp0eXBlPiBWYWx1ZVR5cGU7Ci0KLSAgICBBcmd1bWVudHM4KCkgeyB9Ci0gICAgCi0gICAgQXJn
dW1lbnRzOChUMSB0MSwgVDIgdDIsIFQzIHQzLCBUNCB0NCwgVDUgdDUsIFQ2IHQ2LCBUNyB0Nywg
VDggdDgpCi0gICAgICAgIDogQXJndW1lbnRzNzxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNz4o
dDEsIHQyLCB0MywgdDQsIHQ1LCB0NiwgdDcpCi0gICAgICAgICwgYXJndW1lbnQ4KHQ4KQotICAg
IHsKLSAgICB9Ci0KLSAgICB2b2lkIGVuY29kZShBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNv
bnN0Ci0gICAgewotICAgICAgICBBcmd1bWVudHM3PFQxLCBUMiwgVDMsIFQ0LCBUNSwgVDYsIFQ3
Pjo6ZW5jb2RlKGVuY29kZXIpOwotICAgICAgICBlbmNvZGVyIDw8IGFyZ3VtZW50ODsKLSAgICB9
Ci0KLSAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBBcmd1
bWVudHM4JiByZXN1bHQpCi0gICAgewotICAgICAgICBpZiAoIUFyZ3VtZW50czc8VDEsIFQyLCBU
MywgVDQsIFQ1LCBUNiwgVDc+OjpkZWNvZGUoZGVjb2RlciwgcmVzdWx0KSkKLSAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKLQotICAgICAgICByZXR1cm4gZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFy
Z3VtZW50OCk7Ci0gICAgfQotCi0gICAgVDggYXJndW1lbnQ4OwotfTsKLQotdGVtcGxhdGU8dHlw
ZW5hbWUgVDEsIHR5cGVuYW1lIFQyLCB0eXBlbmFtZSBUMywgdHlwZW5hbWUgVDQsIHR5cGVuYW1l
IFQ1LCB0eXBlbmFtZSBUNiwgdHlwZW5hbWUgVDcsIHR5cGVuYW1lIFQ4LCB0eXBlbmFtZSBUOSwg
dHlwZW5hbWUgVDEwPiBzdHJ1Y3QgQXJndW1lbnRzMTAgOiBBcmd1bWVudHM4PFQxLCBUMiwgVDMs
IFQ0LCBUNSwgVDYsIFQ3LCBUOD4gewotICAgIHR5cGVkZWYgc3RkOjp0dXBsZTx0eXBlbmFtZSBz
dGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDE+Ojp0eXBl
Pjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJl
bW92ZV9yZWZlcmVuY2U8VDI+Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92
ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDM+Ojp0eXBlPjo6dHlwZSwK
LSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZl
cmVuY2U8VDQ+Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0
eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDU+Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBl
bmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDY+
Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBz
dGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDc+Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6
OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDg+Ojp0eXBlPjo6
dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9jb25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92
ZV9yZWZlcmVuY2U8VDk+Ojp0eXBlPjo6dHlwZSwKLSAgICB0eXBlbmFtZSBzdGQ6OnJlbW92ZV9j
b25zdDx0eXBlbmFtZSBzdGQ6OnJlbW92ZV9yZWZlcmVuY2U8VDEwPjo6dHlwZT46OnR5cGU+IFZh
bHVlVHlwZTsKLQotICAgIEFyZ3VtZW50czEwKCkgeyB9Ci0gICAgCi0gICAgQXJndW1lbnRzMTAo
VDEgdDEsIFQyIHQyLCBUMyB0MywgVDQgdDQsIFQ1IHQ1LCBUNiB0NiwgVDcgdDcsIFQ4IHQ4LCBU
OSB0OSwgVDEwIHQxMCkKLSAgICAgICAgOiBBcmd1bWVudHM4PFQxLCBUMiwgVDMsIFQ0LCBUNSwg
VDYsIFQ3LCBUOD4odDEsIHQyLCB0MywgdDQsIHQ1LCB0NiwgdDcsIHQ4KQotICAgICAgICAsIGFy
Z3VtZW50OSh0OSkKLSAgICAgICAgLCBhcmd1bWVudDEwKHQxMCkKLSAgICB7Ci0gICAgfQotCi0g
ICAgdm9pZCBlbmNvZGUoQXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAotICAgIHsKLSAg
ICAgICAgQXJndW1lbnRzODxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDg+OjplbmNvZGUo
ZW5jb2Rlcik7Ci0gICAgICAgIGVuY29kZXIgPDwgYXJndW1lbnQ5OwotICAgICAgICBlbmNvZGVy
IDw8IGFyZ3VtZW50MTA7Ci0gICAgfQotCi0gICAgc3RhdGljIGJvb2wgZGVjb2RlKEFyZ3VtZW50
RGVjb2RlciYgZGVjb2RlciwgQXJndW1lbnRzMTAmIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIGlm
ICghQXJndW1lbnRzODxUMSwgVDIsIFQzLCBUNCwgVDUsIFQ2LCBUNywgVDg+OjpkZWNvZGUoZGVj
b2RlciwgcmVzdWx0KSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBkZWNv
ZGVyLmRlY29kZShyZXN1bHQuYXJndW1lbnQ5KTsKLSAgICAgICAgcmV0dXJuIGRlY29kZXIuZGVj
b2RlKHJlc3VsdC5hcmd1bWVudDEwKTsKLSAgICB9Ci0KLSAgICBUOSBhcmd1bWVudDk7Ci0gICAg
VDEwIGFyZ3VtZW50MTA7CisgICAgc3RkOjp0dXBsZTxUeXBlcy4uLj4gYXJndW1lbnRzOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgSVBDCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtp
dDIvTGVnYWN5TWVzc2FnZXMtZXhwZWN0ZWQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
Mi9TY3JpcHRzL3dlYmtpdDIvTGVnYWN5TWVzc2FnZXMtZXhwZWN0ZWQuaAkocmV2aXNpb24gMTY3
MzE3KQorKysgU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL0xlZ2FjeU1lc3NhZ2VzLWV4
cGVjdGVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5NSw3ICsyOTUsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIElQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBJUEM6OlN0cmluZ1Jl
ZmVyZW5jZSgiQ3JlYXRlUGx1Z2luIik7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSB0cnVlOwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czE8Ym9vbCY+IFJlcGx5OworICAg
IHR5cGVkZWYgSVBDOjpBcmd1bWVudHM8Ym9vbCY+IFJlcGx5OwogICAgIENyZWF0ZVBsdWdpbih1
aW50NjRfdCBwbHVnaW5JbnN0YW5jZUlELCBjb25zdCBXZWJLaXQ6OlBsdWdpbjo6UGFyYW1ldGVy
cyYgcGFyYW1ldGVycykKICAgICAgICAgOiBtX2FyZ3VtZW50cyhwbHVnaW5JbnN0YW5jZUlELCBw
YXJhbWV0ZXJzKQogICAgIHsKQEAgLTMxOCw3ICszMTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGlj
IElQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBJUEM6OlN0cmluZ1JlZmVyZW5j
ZSgiUnVuSmF2YVNjcmlwdEFsZXJ0Iik7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMg
PSB0cnVlOwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czAgUmVwbHk7CisgICAgdHlwZWRl
ZiBJUEM6OkFyZ3VtZW50czw+IFJlcGx5OwogICAgIFJ1bkphdmFTY3JpcHRBbGVydCh1aW50NjRf
dCBmcmFtZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIDogbV9hcmd1bWVudHMo
ZnJhbWVJRCwgbWVzc2FnZSkKICAgICB7CkBAIC0zNDEsNyArMzQxLDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyBJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpTdHJpbmdS
ZWZlcmVuY2UoIkdldFBsdWdpbnMiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9
IHRydWU7CiAKLSAgICB0eXBlZGVmIElQQzo6QXJndW1lbnRzMTxWZWN0b3I8V2ViQ29yZTo6UGx1
Z2luSW5mbz4mPiBSZXBseTsKKyAgICB0eXBlZGVmIElQQzo6QXJndW1lbnRzPFZlY3RvcjxXZWJD
b3JlOjpQbHVnaW5JbmZvPiY+IFJlcGx5OwogICAgIGV4cGxpY2l0IEdldFBsdWdpbnMoYm9vbCBy
ZWZyZXNoKQogICAgICAgICA6IG1fYXJndW1lbnRzKHJlZnJlc2gpCiAgICAgewpAQCAtMzc1LDcg
KzM3NSw3IEBAIHB1YmxpYzoKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVu
Y29kZXI+IG1fZW5jb2RlcjsKICAgICB9OwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czE8
SVBDOjpDb25uZWN0aW9uOjpIYW5kbGUmPiBSZXBseTsKKyAgICB0eXBlZGVmIElQQzo6QXJndW1l
bnRzPElQQzo6Q29ubmVjdGlvbjo6SGFuZGxlJj4gUmVwbHk7CiAgICAgZXhwbGljaXQgR2V0UGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKQogICAgICAgICA6
IG1fYXJndW1lbnRzKHBsdWdpblBhdGgpCiAgICAgewpAQCAtNDA5LDcgKzQwOSw3IEBAIHB1Ymxp
YzoKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+IG1fZW5jb2Rl
cjsKICAgICB9OwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czAgUmVwbHk7CisgICAgdHlw
ZWRlZiBJUEM6OkFyZ3VtZW50czw+IFJlcGx5OwogICAgIGNvbnN0IHN0ZDo6dHVwbGU8PiBhcmd1
bWVudHMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzOwpAQCAtNTE4
LDcgKzUxOCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbmFt
ZSgpIHsgcmV0dXJuIElQQzo6U3RyaW5nUmVmZXJlbmNlKCJJbnRlcnByZXRLZXlFdmVudCIpOyB9
CiAgICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKIAotICAgIHR5cGVkZWYgSVBD
OjpBcmd1bWVudHMxPFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+Jj4gUmVwbHk7Cisg
ICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czxWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5k
PiY+IFJlcGx5OwogICAgIGV4cGxpY2l0IEludGVycHJldEtleUV2ZW50KHVpbnQzMl90IHR5cGUp
CiAgICAgICAgIDogbV9hcmd1bWVudHModHlwZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9TY3JpcHRzL3dlYmtpdDIvTWVzc2FnZXMtZXhwZWN0ZWQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvTWVzc2FnZXMtZXhwZWN0ZWQuaAkocmV2aXNpb24g
MTY3MzE3KQorKysgU291cmNlL1dlYktpdDIvU2NyaXB0cy93ZWJraXQyL01lc3NhZ2VzLWV4cGVj
dGVkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5NSw3ICsyOTUsNyBAQCBwdWJsaWM6CiAgICAgc3Rh
dGljIElQQzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBJUEM6OlN0cmluZ1JlZmVy
ZW5jZSgiQ3JlYXRlUGx1Z2luIik7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0
cnVlOwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czE8Ym9vbCY+IFJlcGx5OworICAgIHR5
cGVkZWYgSVBDOjpBcmd1bWVudHM8Ym9vbCY+IFJlcGx5OwogICAgIENyZWF0ZVBsdWdpbih1aW50
NjRfdCBwbHVnaW5JbnN0YW5jZUlELCBjb25zdCBXZWJLaXQ6OlBsdWdpbjo6UGFyYW1ldGVycyYg
cGFyYW1ldGVycykKICAgICAgICAgOiBtX2FyZ3VtZW50cyhwbHVnaW5JbnN0YW5jZUlELCBwYXJh
bWV0ZXJzKQogICAgIHsKQEAgLTMxOCw3ICszMTgsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIElQ
Qzo6U3RyaW5nUmVmZXJlbmNlIG5hbWUoKSB7IHJldHVybiBJUEM6OlN0cmluZ1JlZmVyZW5jZSgi
UnVuSmF2YVNjcmlwdEFsZXJ0Iik7IH0KICAgICBzdGF0aWMgY29uc3QgYm9vbCBpc1N5bmMgPSB0
cnVlOwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czAgUmVwbHk7CisgICAgdHlwZWRlZiBJ
UEM6OkFyZ3VtZW50czw+IFJlcGx5OwogICAgIFJ1bkphdmFTY3JpcHRBbGVydCh1aW50NjRfdCBm
cmFtZUlELCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiAgICAgICAgIDogbV9hcmd1bWVudHMoZnJh
bWVJRCwgbWVzc2FnZSkKICAgICB7CkBAIC0zNDEsNyArMzQxLDcgQEAgcHVibGljOgogICAgIHN0
YXRpYyBJUEM6OlN0cmluZ1JlZmVyZW5jZSBuYW1lKCkgeyByZXR1cm4gSVBDOjpTdHJpbmdSZWZl
cmVuY2UoIkdldFBsdWdpbnMiKTsgfQogICAgIHN0YXRpYyBjb25zdCBib29sIGlzU3luYyA9IHRy
dWU7CiAKLSAgICB0eXBlZGVmIElQQzo6QXJndW1lbnRzMTxWZWN0b3I8V2ViQ29yZTo6UGx1Z2lu
SW5mbz4mPiBSZXBseTsKKyAgICB0eXBlZGVmIElQQzo6QXJndW1lbnRzPFZlY3RvcjxXZWJDb3Jl
OjpQbHVnaW5JbmZvPiY+IFJlcGx5OwogICAgIGV4cGxpY2l0IEdldFBsdWdpbnMoYm9vbCByZWZy
ZXNoKQogICAgICAgICA6IG1fYXJndW1lbnRzKHJlZnJlc2gpCiAgICAgewpAQCAtMzc1LDcgKzM3
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29k
ZXI+IG1fZW5jb2RlcjsKICAgICB9OwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czE8SVBD
OjpDb25uZWN0aW9uOjpIYW5kbGUmPiBSZXBseTsKKyAgICB0eXBlZGVmIElQQzo6QXJndW1lbnRz
PElQQzo6Q29ubmVjdGlvbjo6SGFuZGxlJj4gUmVwbHk7CiAgICAgZXhwbGljaXQgR2V0UGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb24oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoKQogICAgICAgICA6IG1f
YXJndW1lbnRzKHBsdWdpblBhdGgpCiAgICAgewpAQCAtNDA5LDcgKzQwOSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgc3RkOjp1bmlxdWVfcHRyPElQQzo6TWVzc2FnZUVuY29kZXI+IG1fZW5jb2RlcjsK
ICAgICB9OwogCi0gICAgdHlwZWRlZiBJUEM6OkFyZ3VtZW50czAgUmVwbHk7CisgICAgdHlwZWRl
ZiBJUEM6OkFyZ3VtZW50czw+IFJlcGx5OwogICAgIGNvbnN0IHN0ZDo6dHVwbGU8PiBhcmd1bWVu
dHMoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIG1fYXJndW1lbnRzOwpAQCAtNTE4LDcg
KzUxOCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgSVBDOjpTdHJpbmdSZWZlcmVuY2UgbmFtZSgp
IHsgcmV0dXJuIElQQzo6U3RyaW5nUmVmZXJlbmNlKCJJbnRlcnByZXRLZXlFdmVudCIpOyB9CiAg
ICAgc3RhdGljIGNvbnN0IGJvb2wgaXNTeW5jID0gdHJ1ZTsKIAotICAgIHR5cGVkZWYgSVBDOjpB
cmd1bWVudHMxPFZlY3RvcjxXZWJDb3JlOjpLZXlwcmVzc0NvbW1hbmQ+Jj4gUmVwbHk7CisgICAg
dHlwZWRlZiBJUEM6OkFyZ3VtZW50czxWZWN0b3I8V2ViQ29yZTo6S2V5cHJlc3NDb21tYW5kPiY+
IFJlcGx5OwogICAgIGV4cGxpY2l0IEludGVycHJldEtleUV2ZW50KHVpbnQzMl90IHR5cGUpCiAg
ICAgICAgIDogbV9hcmd1bWVudHModHlwZSkKICAgICB7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9T
Y3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
U2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CShyZXZpc2lvbiAxNjczMTcpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkJKHdvcmtpbmcgY29weSkKQEAgLTkz
LDIyICs5MywxMiBAQCBkZWYgcmVwbHlfcGFyYW1ldGVyX3R5cGUodHlwZSk6CiAgICAgcmV0dXJu
ICclcyYnICUgdHlwZQogCiAKLWRlZiBhcmd1bWVudHNfdHlwZV9vbGQocGFyYW1ldGVycywgcGFy
YW1ldGVyX3R5cGVfZnVuY3Rpb24pOgotICAgIGFyZ3VtZW50c190eXBlID0gJ0lQQzo6QXJndW1l
bnRzJWQnICUgbGVuKHBhcmFtZXRlcnMpCi0gICAgaWYgbGVuKHBhcmFtZXRlcnMpOgotICAgICAg
ICBhcmd1bWVudHNfdHlwZSA9ICclczwlcz4nICUgKGFyZ3VtZW50c190eXBlLCAnLCAnLmpvaW4o
cGFyYW1ldGVyX3R5cGVfZnVuY3Rpb24ocGFyYW1ldGVyLnR5cGUpIGZvciBwYXJhbWV0ZXIgaW4g
cGFyYW1ldGVycykpCi0gICAgcmV0dXJuIGFyZ3VtZW50c190eXBlCi0KLQogZGVmIGFyZ3VtZW50
c190eXBlKG1lc3NhZ2UpOgogICAgIHJldHVybiAnc3RkOjp0dXBsZTwlcz4nICUgJywgJy5qb2lu
KGZ1bmN0aW9uX3BhcmFtZXRlcl90eXBlKHBhcmFtZXRlci50eXBlKSBmb3IgcGFyYW1ldGVyIGlu
IG1lc3NhZ2UucGFyYW1ldGVycykKIAotZGVmIGJhc2VfY2xhc3MobWVzc2FnZSk6Ci0gICAgcmV0
dXJuIGFyZ3VtZW50c190eXBlKG1lc3NhZ2UucGFyYW1ldGVycywgZnVuY3Rpb25fcGFyYW1ldGVy
X3R5cGUpCi0KIAogZGVmIHJlcGx5X3R5cGUobWVzc2FnZSk6Ci0gICAgcmV0dXJuIGFyZ3VtZW50
c190eXBlX29sZChtZXNzYWdlLnJlcGx5X3BhcmFtZXRlcnMsIHJlcGx5X3BhcmFtZXRlcl90eXBl
KQorICAgIHJldHVybiAnSVBDOjpBcmd1bWVudHM8JXM+JyAlICgnLCAnLmpvaW4ocmVwbHlfcGFy
YW1ldGVyX3R5cGUocGFyYW1ldGVyLnR5cGUpIGZvciBwYXJhbWV0ZXIgaW4gbWVzc2FnZS5yZXBs
eV9wYXJhbWV0ZXJzKSkKIAogCiBkZWYgZGVjb2RlX3R5cGUobWVzc2FnZSk6CkBAIC0xMTksOSAr
MTA5LDYgQEAgZGVmIGRlY29kZV90eXBlKG1lc3NhZ2UpOgogCiAgICAgcmV0dXJuICdzdGQ6OnR1
cGxlPCVzPicgJSAnLCAnLmpvaW4ocGFyYW1ldGVyLnR5cGUgZm9yIHBhcmFtZXRlciBpbiBwYXJh
bWV0ZXJzKQogCi1kZWYgZGVsYXllZF9yZXBseV90eXBlKG1lc3NhZ2UpOgotICAgIHJldHVybiBh
cmd1bWVudHNfdHlwZV9vbGQobWVzc2FnZS5yZXBseV9wYXJhbWV0ZXJzLCBmdW5jdGlvbl9wYXJh
bWV0ZXJfdHlwZSkKLQogCiBkZWYgbWVzc2FnZV90b19zdHJ1Y3RfZGVjbGFyYXRpb24obWVzc2Fn
ZSk6CiAgICAgcmVzdWx0ID0gW10K
</data>

          </attachment>
      

    </bug>

</bugzilla>