<?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>167176</bug_id>
          
          <creation_ts>2017-01-18 14:31:27 -0800</creation_ts>
          <short_desc>Modernize DelayedReply IPC code</short_desc>
          <delta_ts>2017-01-18 14:44:50 -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>New Bugs</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1267886</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-18 14:31:27 -0800</bug_when>
    <thetext>Modernize DelayedReply IPC code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267887</commentid>
    <comment_count>1</comment_count>
      <attachid>299185</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-18 14:31:50 -0800</bug_when>
    <thetext>Created attachment 299185
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267895</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-18 14:44:50 -0800</bug_when>
    <thetext>http://trac.webkit.org/r210887</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299185</attachid>
            <date>2017-01-18 14:31:50 -0800</date>
            <delta_ts>2017-01-18 14:33:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167176-20170118143000.patch</filename>
            <type>text/plain</type>
            <size>26955</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDg4NikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBACisyMDE3LTAxLTE4ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXpl
IERlbGF5ZWRSZXBseSBJUEMgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY3MTc2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpwZXJmb3JtU3luY2hyb25vdXNMb2FkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9IYW5k
bGVNZXNzYWdlLmg6CisgICAgICAgIChJUEM6OmNhbGxNZW1iZXJGdW5jdGlvbkltcGwpOgorICAg
ICAgICAoSVBDOjpjYWxsTWVtYmVyRnVuY3Rpb24pOgorICAgICAgICAoSVBDOjpoYW5kbGVNZXNz
YWdlRGVsYXllZCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6CisgICAg
ICAgIChtZXNzYWdlX3RvX3N0cnVjdF9kZWNsYXJhdGlvbik6CisgICAgICAgIChnZW5lcmF0ZV9t
ZXNzYWdlX2hhbmRsZXIpOgorICAgICAgICAqIFVJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQ
cm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpEYXRhYmFzZVByb2Nlc3NQcm94eTo6
Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL0RhdGFi
YXNlcy9EYXRhYmFzZVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUHJvY2Vzc1Byb3h5OjpuZXR3b3JrUHJvY2Vzc0NyYXNoZWRPckZhaWxlZFRvTGF1bmNo
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5l
Y3Rpb24pOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2Vy
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYktpdDo6UGx1Z2luUHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5
Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhZ2VQcm94eTo6cnVuSmF2YVNjcmlwdEFsZXJ0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0Q29uZmlybSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpnZXROZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6Z2V0RGF0YWJhc2VQcm9j
ZXNzQ29ubmVjdGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlByb2Nlc3NQcm94eTo6Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcm9jZXNzUHJveHk6OmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQcm94eTo6Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVj
dGlvbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oOgorCiAyMDE3LTAx
LTE4ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgRml4IENNYWtlIGJ1aWxkLgpJbmRleDogU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAko
cmV2aXNpb24gMjEwODIyKQorKysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcsNyArMTI3
LDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c2NoZQogICAgIGxvYWRl
ci0+c3RhcnQoKTsKIH0KIAotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cGVy
Zm9ybVN5bmNocm9ub3VzTG9hZChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYg
bG9hZFBhcmFtZXRlcnMsIFJlZlB0cjxNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWQ6OkRlbGF5ZWRSZXBseT4mJiByZXBseSkKK3Zv
aWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnBlcmZvcm1TeW5jaHJvbm91c0xvYWQo
Y29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIGxvYWRQYXJhbWV0ZXJzLCBSZWY8
TWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3luY2hyb25v
dXNMb2FkOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7CiAgICAgYXV0byBsb2FkZXIgPSBOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6OmNyZWF0ZShsb2FkUGFyYW1ldGVycywgKnRoaXMsIFdURk1vdmUo
cmVwbHkpKTsKICAgICBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuYWRkKGxvYWRQYXJhbWV0ZXJz
LmlkZW50aWZpZXIsIGxvYWRlci5wdHIoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgJKHJldmlzaW9uIDIxMDgyMikKKysrIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgJKHdvcmtpbmcgY29weSkKQEAgLTY5LDcgKzY5
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6
dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7CiAgICAgCiAgICAgdm9pZCBzY2hlZHVsZVJlc291
cmNlTG9hZChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYpOwotICAgIHZvaWQg
cGVyZm9ybVN5bmNocm9ub3VzTG9hZChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cyYsIFJlZlB0cjxNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlBlcmZv
cm1TeW5jaHJvbm91c0xvYWQ6OkRlbGF5ZWRSZXBseT4mJik7CisgICAgdm9pZCBwZXJmb3JtU3lu
Y2hyb25vdXNMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiwgUmVmPE1l
c3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9ub3Vz
TG9hZDo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGxvYWRQaW5nKGNvbnN0IE5ldHdvcmtS
ZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBwcmVmZXRjaEROUyhjb25zdCBTdHJp
bmcmKTsKIApJbmRleDogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0hhbmRsZU1lc3NhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFuZGxlTWVzc2Fn
ZS5oCShyZXZpc2lvbiAyMTA4MjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvSGFu
ZGxlTWVzc2FnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MywxNSArNjMsMTUgQEAgdm9pZCBjYWxs
TWVtYmVyRnVuY3Rpb24oQXJnc1R1cGxlJiYgYXJncwogLy8gRGlzcGF0Y2ggZnVuY3Rpb25zIHdp
dGggZGVsYXllZCByZXBseSBhcmd1bWVudHMuCiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDLCB0eXBl
bmFtZSBNRiwgdHlwZW5hbWUgUiwgdHlwZW5hbWUgQXJnc1R1cGxlLCBzaXplX3QuLi4gQXJnc0lu
ZGV4Pgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKEMqIG9iamVjdCwgTUYgZnVuY3Rpb24s
IFBhc3NSZWZQdHI8Uj4gZGVsYXllZFJlcGx5LCBBcmdzVHVwbGUmJiBhcmdzLCBzdGQ6OmluZGV4
X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4pCit2b2lkIGNhbGxNZW1iZXJGdW5jdGlvbkltcGwoQyog
b2JqZWN0LCBNRiBmdW5jdGlvbiwgUmVmPFI+JiYgZGVsYXllZFJlcGx5LCBBcmdzVHVwbGUmJiBh
cmdzLCBzdGQ6OmluZGV4X3NlcXVlbmNlPEFyZ3NJbmRleC4uLj4pCiB7Ci0gICAgKG9iamVjdC0+
KmZ1bmN0aW9uKShzdGQ6OmdldDxBcmdzSW5kZXg+KGFyZ3MpLi4uLCBkZWxheWVkUmVwbHkpOwor
ICAgIChvYmplY3QtPipmdW5jdGlvbikoc3RkOjpnZXQ8QXJnc0luZGV4PihhcmdzKS4uLiwgV1RG
TW92ZShkZWxheWVkUmVwbHkpKTsKIH0KIAogdGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUg
TUYsIHR5cGVuYW1lIFIsIHR5cGVuYW1lIEFyZ3NUdXBsZSwgdHlwZW5hbWUgQXJnc0luZGljaWVz
ID0gc3RkOjptYWtlX2luZGV4X3NlcXVlbmNlPHN0ZDo6dHVwbGVfc2l6ZTxBcmdzVHVwbGU+Ojp2
YWx1ZT4+Ci12b2lkIGNhbGxNZW1iZXJGdW5jdGlvbihBcmdzVHVwbGUmJiBhcmdzLCBQYXNzUmVm
UHRyPFI+IGRlbGF5ZWRSZXBseSwgQyogb2JqZWN0LCBNRiBmdW5jdGlvbikKK3ZvaWQgY2FsbE1l
bWJlckZ1bmN0aW9uKEFyZ3NUdXBsZSYmIGFyZ3MsIFJlZjxSPiYmIGRlbGF5ZWRSZXBseSwgQyog
b2JqZWN0LCBNRiBmdW5jdGlvbikKIHsKLSAgICBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKG9iamVj
dCwgZnVuY3Rpb24sIGRlbGF5ZWRSZXBseSwgc3RkOjpmb3J3YXJkPEFyZ3NUdXBsZT4oYXJncyks
IEFyZ3NJbmRpY2llcygpKTsKKyAgICBjYWxsTWVtYmVyRnVuY3Rpb25JbXBsKG9iamVjdCwgZnVu
Y3Rpb24sIFdURk1vdmUoZGVsYXllZFJlcGx5KSwgc3RkOjpmb3J3YXJkPEFyZ3NUdXBsZT4oYXJn
cyksIEFyZ3NJbmRpY2llcygpKTsKIH0KIAogLy8gRGlzcGF0Y2ggZnVuY3Rpb25zIHdpdGggY29u
bmVjdGlvbiBwYXJhbWV0ZXIgd2l0aCBubyByZXBseSBhcmd1bWVudHMuCkBAIC0xNzQsOCArMTc0
LDggQEAgdm9pZCBoYW5kbGVNZXNzYWdlRGVsYXllZChDb25uZWN0aW9uJiBjbwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPHR5cGVuYW1lIFQ6OkRlbGF5ZWRSZXBseT4gZGVs
YXllZFJlcGx5ID0gYWRvcHRSZWYobmV3IHR5cGVuYW1lIFQ6OkRlbGF5ZWRSZXBseSgmY29ubmVj
dGlvbiwgV1RGTW92ZShyZXBseUVuY29kZXIpKSk7Ci0gICAgY2FsbE1lbWJlckZ1bmN0aW9uKFdU
Rk1vdmUoYXJndW1lbnRzKSwgUGFzc1JlZlB0cjx0eXBlbmFtZSBUOjpEZWxheWVkUmVwbHk+KFdU
Rk1vdmUoZGVsYXllZFJlcGx5KSksIG9iamVjdCwgZnVuY3Rpb24pOworICAgIFJlZjx0eXBlbmFt
ZSBUOjpEZWxheWVkUmVwbHk+IGRlbGF5ZWRSZXBseSA9IGFkb3B0UmVmKCpuZXcgdHlwZW5hbWUg
VDo6RGVsYXllZFJlcGx5KCZjb25uZWN0aW9uLCBXVEZNb3ZlKHJlcGx5RW5jb2RlcikpKTsKKyAg
ICBjYWxsTWVtYmVyRnVuY3Rpb24oV1RGTW92ZShhcmd1bWVudHMpLCBXVEZNb3ZlKGRlbGF5ZWRS
ZXBseSksIG9iamVjdCwgZnVuY3Rpb24pOwogfQogCiB9IC8vIG5hbWVzcGFjZSBJUEMKSW5kZXg6
IFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CShyZXZpc2lvbiAyMTA4
MjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQkod29ya2lu
ZyBjb3B5KQpAQCAtMTE4LDcgKzExOCw3IEBAIGRlZiBtZXNzYWdlX3RvX3N0cnVjdF9kZWNsYXJh
dGlvbihtZXNzYWcKICAgICAgICAgaWYgbWVzc2FnZS5oYXNfYXR0cmlidXRlKERFTEFZRURfQVRU
UklCVVRFKToKICAgICAgICAgICAgIHNlbmRfcGFyYW1ldGVycyA9IFsoZnVuY3Rpb25fcGFyYW1l
dGVyX3R5cGUoeC50eXBlLCB4LmtpbmQpLCB4Lm5hbWUpIGZvciB4IGluIG1lc3NhZ2UucmVwbHlf
cGFyYW1ldGVyc10KICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICBzdHJ1Y3QgRGVsYXll
ZFJlcGx5IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPERlbGF5ZWRSZXBseT4ge1xuJykK
LSAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICAgICAgRGVsYXllZFJlcGx5KFBhc3NSZWZQ
dHI8SVBDOjpDb25uZWN0aW9uPiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4pO1xuJykK
KyAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyAgICAgICAgRGVsYXllZFJlcGx5KFJlZlB0cjxJ
UEM6OkNvbm5lY3Rpb24+JiYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+KTtcbicpCiAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCcgICAgICAgIH5EZWxheWVkUmVwbHkoKTtcbicpCiAg
ICAgICAgICAgICByZXN1bHQuYXBwZW5kKCdcbicpCiAgICAgICAgICAgICByZXN1bHQuYXBwZW5k
KCcgICAgICAgIGJvb2wgc2VuZCglcyk7XG4nICUgJywgJy5qb2luKFsnICcuam9pbih4KSBmb3Ig
eCBpbiBzZW5kX3BhcmFtZXRlcnNdKSkKQEAgLTQ4Niw3ICs0ODYsNyBAQCBkZWYgZ2VuZXJhdGVf
bWVzc2FnZV9oYW5kbGVyKGZpbGUpOgogICAgICAgICAgICAgaWYgbWVzc2FnZS5jb25kaXRpb246
CiAgICAgICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnI2lmICVzXG5cbicgJSBtZXNzYWdlLmNv
bmRpdGlvbikKIAotICAgICAgICAgICAgcmVzdWx0LmFwcGVuZCgnJXM6OkRlbGF5ZWRSZXBseTo6
RGVsYXllZFJlcGx5KFBhc3NSZWZQdHI8SVBDOjpDb25uZWN0aW9uPiBjb25uZWN0aW9uLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiBlbmNvZGVyKVxuJyAlIG1lc3NhZ2UubmFtZSkKKyAg
ICAgICAgICAgIHJlc3VsdC5hcHBlbmQoJyVzOjpEZWxheWVkUmVwbHk6OkRlbGF5ZWRSZXBseShS
ZWZQdHI8SVBDOjpDb25uZWN0aW9uPiYmIGNvbm5lY3Rpb24sIHN0ZDo6dW5pcXVlX3B0cjxJUEM6
OkVuY29kZXI+IGVuY29kZXIpXG4nICUgbWVzc2FnZS5uYW1lKQogICAgICAgICAgICAgcmVzdWx0
LmFwcGVuZCgnICAgIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pXG4nKQogICAgICAgICAgICAg
cmVzdWx0LmFwcGVuZCgnICAgICwgbV9lbmNvZGVyKFdURk1vdmUoZW5jb2RlcikpXG4nKQogICAg
ICAgICAgICAgcmVzdWx0LmFwcGVuZCgne1xuJykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCShyZXZpc2lvbiAyMTA4MjIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzg5Niw3ICsz
ODk2LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlUGFnZShib29sIHN0b3BSZQogICAgIG1f
dWlDbGllbnQtPmNsb3NlKHRoaXMpOwogfQogCi12b2lkIFdlYlBhZ2VQcm94eTo6cnVuSmF2YVNj
cmlwdEFsZXJ0KHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2Vj
dXJpdHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUmVmUHRyPE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OlJ1bkphdmFTY3JpcHRBbGVydDo6RGVsYXllZFJlcGx5PiByZXBseSkKK3ZvaWQg
V2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3QgZnJhbWVJRCwgY29uc3Qg
U2VjdXJpdHlPcmlnaW5EYXRhJiBzZWN1cml0eU9yaWdpbiwgY29uc3QgU3RyaW5nJiBtZXNzYWdl
LCBSZWY8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UnVuSmF2YVNjcmlwdEFsZXJ0OjpEZWxheWVk
UmVwbHk+JiYgcmVwbHkpCiB7CiAgICAgV2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3Mt
PndlYkZyYW1lKGZyYW1lSUQpOwogICAgIE1FU1NBR0VfQ0hFQ0soZnJhbWUpOwpAQCAtMzkwNCwx
MCArMzkwNCwxMiBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cnVuSmF2YVNjcmlwdEFsZXJ0KHVpCiAg
ICAgLy8gU2luY2UgcnVuSmF2YVNjcmlwdEFsZXJ0KCkgY2FuIHNwaW4gYSBuZXN0ZWQgcnVuIGxv
b3Agd2UgbmVlZCB0byB0dXJuIG9mZiB0aGUgcmVzcG9uc2l2ZW5lc3MgdGltZXIuCiAgICAgbV9w
cm9jZXNzLT5yZXNwb25zaXZlbmVzc1RpbWVyKCkuc3RvcCgpOwogCi0gICAgbV91aUNsaWVudC0+
cnVuSmF2YVNjcmlwdEFsZXJ0KHRoaXMsIG1lc3NhZ2UsIGZyYW1lLCBzZWN1cml0eU9yaWdpbiwg
W3JlcGx5XXsgcmVwbHktPnNlbmQoKTsgfSk7CisgICAgbV91aUNsaWVudC0+cnVuSmF2YVNjcmlw
dEFsZXJ0KHRoaXMsIG1lc3NhZ2UsIGZyYW1lLCBzZWN1cml0eU9yaWdpbiwgW3JlcGx5ID0gV1RG
TW92ZShyZXBseSldIHsKKyAgICAgICAgcmVwbHktPnNlbmQoKTsKKyAgICB9KTsKIH0KIAotdm9p
ZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRDb25maXJtKHVpbnQ2NF90IGZyYW1lSUQsIGNv
bnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgbWVz
c2FnZSwgUmVmUHRyPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJ1bkphdmFTY3JpcHRDb25maXJt
OjpEZWxheWVkUmVwbHk+IHJlcGx5KQordm9pZCBXZWJQYWdlUHJveHk6OnJ1bkphdmFTY3JpcHRD
b25maXJtKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJp
dHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUmVmPE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OlJ1bkphdmFTY3JpcHRDb25maXJtOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7CiAgICAg
V2ViRnJhbWVQcm94eSogZnJhbWUgPSBtX3Byb2Nlc3MtPndlYkZyYW1lKGZyYW1lSUQpOwogICAg
IE1FU1NBR0VfQ0hFQ0soZnJhbWUpOwpAQCAtMzkxNSw3ICszOTE3LDkgQEAgdm9pZCBXZWJQYWdl
UHJveHk6OnJ1bkphdmFTY3JpcHRDb25maXJtKAogICAgIC8vIFNpbmNlIHJ1bkphdmFTY3JpcHRD
b25maXJtKCkgY2FuIHNwaW4gYSBuZXN0ZWQgcnVuIGxvb3Agd2UgbmVlZCB0byB0dXJuIG9mZiB0
aGUgcmVzcG9uc2l2ZW5lc3MgdGltZXIuCiAgICAgbV9wcm9jZXNzLT5yZXNwb25zaXZlbmVzc1Rp
bWVyKCkuc3RvcCgpOwogCi0gICAgbV91aUNsaWVudC0+cnVuSmF2YVNjcmlwdENvbmZpcm0odGhp
cywgbWVzc2FnZSwgZnJhbWUsIHNlY3VyaXR5T3JpZ2luLCBbcmVwbHldKGJvb2wgcmVzdWx0KSB7
IHJlcGx5LT5zZW5kKHJlc3VsdCk7IH0pOworICAgIG1fdWlDbGllbnQtPnJ1bkphdmFTY3JpcHRD
b25maXJtKHRoaXMsIG1lc3NhZ2UsIGZyYW1lLCBzZWN1cml0eU9yaWdpbiwgW3JlcGx5ID0gV1RG
TW92ZShyZXBseSldKGJvb2wgcmVzdWx0KSB7CisgICAgICAgIHJlcGx5LT5zZW5kKHJlc3VsdCk7
CisgICAgfSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpydW5KYXZhU2NyaXB0UHJvbXB0KHVp
bnQ2NF90IGZyYW1lSUQsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW4s
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFJlZlB0
cjxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSdW5KYXZhU2NyaXB0UHJvbXB0OjpEZWxheWVkUmVw
bHk+IHJlcGx5KQpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAko
cmV2aXNpb24gMjEwODIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjcyLDggKzEyNzIsOCBAQCBwcml2YXRlOgogICAgIC8v
IFVJIGNsaWVudAogICAgIHZvaWQgY3JlYXRlTmV3UGFnZSh1aW50NjRfdCBmcmFtZUlELCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBXZWJDb3JlOjpXaW5kb3dGZWF0dXJlcyYsIGNvbnN0IE5hdmlnYXRpb25B
Y3Rpb25EYXRhJiwgdWludDY0X3QmIG5ld1BhZ2VJRCwgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cyYpOwogICAgIHZvaWQgc2hvd1BhZ2UoKTsKLSAgICB2b2lkIHJ1bkphdmFTY3JpcHRBbGVydCh1
aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmLCBjb25z
dCBTdHJpbmcmLCBSZWZQdHI8TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UnVuSmF2YVNjcmlwdEFs
ZXJ0OjpEZWxheWVkUmVwbHk+KTsKLSAgICB2b2lkIHJ1bkphdmFTY3JpcHRDb25maXJtKHVpbnQ2
NF90IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0
cmluZyYsIFJlZlB0cjxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSdW5KYXZhU2NyaXB0Q29uZmly
bTo6RGVsYXllZFJlcGx5Pik7CisgICAgdm9pZCBydW5KYXZhU2NyaXB0QWxlcnQodWludDY0X3Qg
ZnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5n
JiwgUmVmPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJ1bkphdmFTY3JpcHRBbGVydDo6RGVsYXll
ZFJlcGx5PiYmKTsKKyAgICB2b2lkIHJ1bkphdmFTY3JpcHRDb25maXJtKHVpbnQ2NF90IGZyYW1l
SUQsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYsIGNvbnN0IFN0cmluZyYsIFJl
ZjxNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpSdW5KYXZhU2NyaXB0Q29uZmlybTo6RGVsYXllZFJl
cGx5PiYmKTsKICAgICB2b2lkIHJ1bkphdmFTY3JpcHRQcm9tcHQodWludDY0X3QgZnJhbWVJRCwg
Y29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiwgY29uc3QgU3RyaW5nJiwgY29uc3Qg
U3RyaW5nJiwgUmVmUHRyPE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlJ1bkphdmFTY3JpcHRQcm9t
cHQ6OkRlbGF5ZWRSZXBseT4pOwogICAgIHZvaWQgc2V0U3RhdHVzVGV4dChjb25zdCBTdHJpbmcm
KTsKICAgICB2b2lkIG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IFdlYkhpdFRlc3RSZXN1
bHREYXRhJiwgdWludDMyX3QgbW9kaWZpZXJzLCBjb25zdCBVc2VyRGF0YSYpOwpJbmRleDogU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCShyZXZpc2lvbiAyMTA4
MjIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MTYsMTQgKzQxNiwxMiBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjpuZXR3
b3JrUHJvY2Vzc0NyYXNoCiAgICAgbV9uZXR3b3JrUHJvY2VzcyA9IG51bGxwdHI7CiB9CiAKLXZv
aWQgV2ViUHJvY2Vzc1Bvb2w6OmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRy
PE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
RGVsYXllZFJlcGx5PiByZXBseSkKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdldE5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbihSZWY8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0TmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7Ci0gICAgQVNTRVJUKHJl
cGx5KTsKLQogICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzKCk7CiAgICAgQVNTRVJUKG1fbmV0d29y
a1Byb2Nlc3MpOwogCi0gICAgbV9uZXR3b3JrUHJvY2Vzcy0+Z2V0TmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uKHJlcGx5KTsKKyAgICBtX25ldHdvcmtQcm9jZXNzLT5nZXROZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24oV1RGTW92ZShyZXBseSkpOwogfQogCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NF
U1MpCkBAIC00NDgsMTMgKzQ0NiwxMSBAQCB2b2lkIFdlYlByb2Nlc3NQb29sOjplbnN1cmVEYXRh
YmFzZVByb2NlCiAgICAgbV9kYXRhYmFzZVByb2Nlc3MtPnNlbmQoTWVzc2FnZXM6OkRhdGFiYXNl
UHJvY2Vzczo6SW5pdGlhbGl6ZURhdGFiYXNlUHJvY2VzcyhwYXJhbWV0ZXJzKSwgMCk7CiB9CiAK
LXZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1Jl
ZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0
aW9uOjpEZWxheWVkUmVwbHk+IHJlcGx5KQordm9pZCBXZWJQcm9jZXNzUG9vbDo6Z2V0RGF0YWJh
c2VQcm9jZXNzQ29ubmVjdGlvbihSZWY8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0RGF0
YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmIHJlcGx5KQogewotICAgIEFT
U0VSVChyZXBseSk7Ci0KICAgICBlbnN1cmVEYXRhYmFzZVByb2Nlc3MoKTsKIAotICAgIG1fZGF0
YWJhc2VQcm9jZXNzLT5nZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKHJlcGx5KTsKKyAgICBt
X2RhdGFiYXNlUHJvY2Vzcy0+Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihXVEZNb3ZlKHJl
cGx5KSk7CiB9CiAKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmRhdGFiYXNlUHJvY2Vzc0NyYXNoZWQo
RGF0YWJhc2VQcm9jZXNzUHJveHkqIGRhdGFiYXNlUHJvY2Vzc1Byb3h5KQpJbmRleDogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgJKHJldmlzaW9uIDIxMDgyMikKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOTUsMTIgKzI5NSwxMiBAQCBwdWJsaWM6CiAgICAgTmV0d29ya1Byb2Nlc3NQcm94eSog
bmV0d29ya1Byb2Nlc3MoKSB7IHJldHVybiBtX25ldHdvcmtQcm9jZXNzLmdldCgpOyB9CiAgICAg
dm9pZCBuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoTmV0d29ya1Byb2Nlc3NQcm94eSopOwogCi0gICAg
dm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0cjxNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4p
OworICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2Vi
UHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4m
Jik7CiAKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICAgICB2b2lkIGVuc3VyZURhdGFi
YXNlUHJvY2VzcygpOwogICAgIERhdGFiYXNlUHJvY2Vzc1Byb3h5KiBkYXRhYmFzZVByb2Nlc3Mo
KSB7IHJldHVybiBtX2RhdGFiYXNlUHJvY2Vzcy5nZXQoKTsgfQotICAgIHZvaWQgZ2V0RGF0YWJh
c2VQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6
OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4pOworICAgIHZvaWQg
Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihSZWY8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94
eTo6R2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2
b2lkIGRhdGFiYXNlUHJvY2Vzc0NyYXNoZWQoRGF0YWJhc2VQcm9jZXNzUHJveHkqKTsKICNlbmRp
ZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNw
cAkocmV2aXNpb24gMjEwODIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwNywyMSArNDA3LDIxIEBAIHZvaWQgV2Vi
UHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5zKGJvb2wgcmUKICNlbmRpZiAvLyBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQotdm9pZCBX
ZWJQcm9jZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKHVpbnQ2NF90IHBsdWdp
blByb2Nlc3NUb2tlbiwgUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQ
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiByZXBseSkKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbih1aW50NjRfdCBwbHVnaW5Qcm9j
ZXNzVG9rZW4sIFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmIHJlcGx5KQogewotICAgIFBsdWdpblByb2Nlc3NN
YW5hZ2VyOjpzaW5nbGV0b24oKS5nZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihwbHVnaW5Qcm9j
ZXNzVG9rZW4sIHJlcGx5KTsKKyAgICBQbHVnaW5Qcm9jZXNzTWFuYWdlcjo6c2luZ2xldG9uKCku
Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24ocGx1Z2luUHJvY2Vzc1Rva2VuLCBXVEZNb3ZlKHJl
cGx5KSk7CiB9CiAjZW5kaWYKIAotdm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldE5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiByZXBseSkKK3ZvaWQgV2ViUHJv
Y2Vzc1Byb3h5OjpnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQ
cm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYm
IHJlcGx5KQogewotICAgIG1fcHJvY2Vzc1Bvb2wtPmdldE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bihyZXBseSk7CisgICAgbV9wcm9jZXNzUG9vbC0+Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
KFdURk1vdmUocmVwbHkpKTsKIH0KIAogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQotdm9p
ZCBXZWJQcm9jZXNzUHJveHk6OmdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1JlZlB0
cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9u
OjpEZWxheWVkUmVwbHk+IHJlcGx5KQordm9pZCBXZWJQcm9jZXNzUHJveHk6OmdldERhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldERhdGFi
YXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4mJiByZXBseSkKIHsKLSAgICBtX3By
b2Nlc3NQb29sLT5nZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKHJlcGx5KTsKKyAgICBtX3By
b2Nlc3NQb29sLT5nZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFdURk1vdmUocmVwbHkpKTsK
IH0KICNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKIApJbmRleDogU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjEwODIyKQorKysg
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xNzMsMTEgKzE3MywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0UGx1Z2lucyhib29s
IHJlZnJlc2gsIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYgcGx1Z2lucywgVmVjdG9yPFdl
YkNvcmU6OlBsdWdpbkluZm8+JiBhcHBsaWNhdGlvblBsdWdpbnMpOwogI2VuZGlmIC8vIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQot
ICAgIHZvaWQgZ2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24odWludDY0X3QgcGx1Z2luUHJvY2Vz
c1Rva2VuLCBQYXNzUmVmUHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+KTsKKyAgICB2b2lkIGdldFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uKHVpbnQ2NF90IHBsdWdpblByb2Nlc3NUb2tlbiwgUmVmPE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzUHJveHk6OkdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+
JiYpOwogI2VuZGlmCi0gICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oUGFzc1Jl
ZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246OkRlbGF5ZWRSZXBseT4pOworICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
KFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b246OkRlbGF5ZWRSZXBseT4mJik7CiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCi0gICAg
dm9pZCBnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFBhc3NSZWZQdHI8TWVzc2FnZXM6Oldl
YlByb2Nlc3NQcm94eTo6R2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5
Pik7CisgICAgdm9pZCBnZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6
V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVw
bHk+JiYpOwogI2VuZGlmCiAKICAgICB2b2lkIHJldGFpbkljb25Gb3JQYWdlVVJMKGNvbnN0IFN0
cmluZyYgcGFnZVVSTCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2Vz
L0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRGF0YWJhc2VzL0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmNwcAkocmV2aXNpb24gMjEw
ODIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RhdGFiYXNlcy9EYXRhYmFzZVByb2Nl
c3NQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMiw5ICsxMTIsOSBAQCB2b2lkIERhdGFi
YXNlUHJvY2Vzc1Byb3h5OjpkZWxldGVXZWJzaXRlCiAgICAgc2VuZChNZXNzYWdlczo6RGF0YWJh
c2VQcm9jZXNzOjpEZWxldGVXZWJzaXRlRGF0YUZvck9yaWdpbnMoc2Vzc2lvbklELCBkYXRhVHlw
ZXMsIG9yaWdpbnMsIGNhbGxiYWNrSUQpLCAwKTsKIH0KIAotdm9pZCBEYXRhYmFzZVByb2Nlc3NQ
cm94eTo6Z2V0RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3NhZ2VzOjpX
ZWJQcm9jZXNzUHJveHk6OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBs
eT4gcmVwbHkpCit2b2lkIERhdGFiYXNlUHJvY2Vzc1Byb3h5OjpnZXREYXRhYmFzZVByb2Nlc3ND
b25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nl
c3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7Ci0gICAgbV9wZW5kaW5nQ29u
bmVjdGlvblJlcGxpZXMuYXBwZW5kKHJlcGx5KTsKKyAgICBtX3BlbmRpbmdDb25uZWN0aW9uUmVw
bGllcy5hcHBlbmQoV1RGTW92ZShyZXBseSkpOwogCiAgICAgaWYgKHN0YXRlKCkgPT0gU3RhdGU6
OkxhdW5jaGluZykgewogICAgICAgICBtX251bVBlbmRpbmdDb25uZWN0aW9uUmVxdWVzdHMrKzsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNz
UHJveHkuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvRGF0YWJhc2Vz
L0RhdGFiYXNlUHJvY2Vzc1Byb3h5LmgJKHJldmlzaW9uIDIxMDgyMikKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9EYXRhYmFzZXMvRGF0YWJhc2VQcm9jZXNzUHJveHkuaAkod29ya2luZyBj
b3B5KQpAQCAtNTUsNyArNTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkZWxldGVXZWJzaXRlRGF0
YShXZWJDb3JlOjpTZXNzaW9uSUQsIE9wdGlvblNldDxXZWJzaXRlRGF0YVR5cGU+LCBzdGQ6OmNo
cm9ubzo6c3lzdGVtX2Nsb2NrOjp0aW1lX3BvaW50IG1vZGlmaWVkU2luY2UsIHN0ZDo6ZnVuY3Rp
b248dm9pZCgpPiBjb21wbGV0aW9uSGFuZGxlcik7CiAgICAgdm9pZCBkZWxldGVXZWJzaXRlRGF0
YUZvck9yaWdpbnMoV2ViQ29yZTo6U2Vzc2lvbklELCBPcHRpb25TZXQ8V2Vic2l0ZURhdGFUeXBl
PiwgY29uc3QgVmVjdG9yPFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YT4mLCBzdGQ6OmZ1bmN0
aW9uPHZvaWQoKT4gY29tcGxldGlvbkhhbmRsZXIpOwogCi0gICAgdm9pZCBnZXREYXRhYmFzZVBy
b2Nlc3NDb25uZWN0aW9uKFBhc3NSZWZQdHI8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0
RGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5Pik7CisgICAgdm9pZCBnZXRE
YXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpH
ZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+JiYpOwogCiBwcml2YXRl
OgogICAgIERhdGFiYXNlUHJvY2Vzc1Byb3h5KFdlYlByb2Nlc3NQb29sKik7CkBAIC04Niw3ICs4
Niw3IEBAIHByaXZhdGU6CiAgICAgV2ViUHJvY2Vzc1Bvb2wqIG1fcHJvY2Vzc1Bvb2w7CiAKICAg
ICB1bnNpZ25lZCBtX251bVBlbmRpbmdDb25uZWN0aW9uUmVxdWVzdHM7Ci0gICAgRGVxdWU8UmVm
UHRyPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldERhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b246OkRlbGF5ZWRSZXBseT4+IG1fcGVuZGluZ0Nvbm5lY3Rpb25SZXBsaWVzOworICAgIERlcXVl
PFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXREYXRhYmFzZVByb2Nlc3NDb25uZWN0
aW9uOjpEZWxheWVkUmVwbHk+PiBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllczsKIAogICAgIEhh
c2hNYXA8dWludDY0X3QsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoV2Vic2l0ZURhdGEpPj4gbV9wZW5k
aW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6
OmZ1bmN0aW9uPHZvaWQgKCk+PiBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNhbGxiYWNrczsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuY3BwCShyZXZpc2lvbiAyMTA4MjIpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTAwLDkgKzEwMCw5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6cHJvY2Vzc1dp
bGxTaHUKICAgICBBU1NFUlRfVU5VU0VEKGNvbm5lY3Rpb24sIHRoaXMtPmNvbm5lY3Rpb24oKSA9
PSAmY29ubmVjdGlvbik7CiB9CiAKLXZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6Z2V0TmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uKFJlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4mJiByZXBseSkKK3ZvaWQgTmV0
d29ya1Byb2Nlc3NQcm94eTo6Z2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNzYWdl
czo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRS
ZXBseT4mJiByZXBseSkKIHsKLSAgICBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllcy5hcHBlbmQo
cmVwbHkpOworICAgIG1fcGVuZGluZ0Nvbm5lY3Rpb25SZXBsaWVzLmFwcGVuZChXVEZNb3ZlKHJl
cGx5KSk7CiAKICAgICBpZiAoc3RhdGUoKSA9PSBTdGF0ZTo6TGF1bmNoaW5nKSB7CiAgICAgICAg
IG1fbnVtUGVuZGluZ0Nvbm5lY3Rpb25SZXF1ZXN0cysrOwpAQCAtMTY5LDcgKzE2OSw3IEBAIHZv
aWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6bmV0d29ya1Byb2Nlc3MKIHsKICAgICAvLyBUaGUgbmV0
d29yayBwcm9jZXNzIG11c3QgaGF2ZSBjcmFzaGVkIG9yIGV4aXRlZCwgc2VuZCBhbnkgcGVuZGlu
ZyBzeW5jIHJlcGxpZXMgd2UgbWlnaHQgaGF2ZS4KICAgICB3aGlsZSAoIW1fcGVuZGluZ0Nvbm5l
Y3Rpb25SZXBsaWVzLmlzRW1wdHkoKSkgewotICAgICAgICBSZWZQdHI8TWVzc2FnZXM6OldlYlBy
b2Nlc3NQcm94eTo6R2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+IHJl
cGx5ID0gbV9wZW5kaW5nQ29ubmVjdGlvblJlcGxpZXMudGFrZUZpcnN0KCk7CisgICAgICAgIFJl
ZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246
OkRlbGF5ZWRSZXBseT4gcmVwbHkgPSBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllcy50YWtlRmly
c3QoKTsKIAogI2lmIFVTRShVTklYX0RPTUFJTl9TT0NLRVRTKQogICAgICAgICByZXBseS0+c2Vu
ZChJUEM6OkF0dGFjaG1lbnQoKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oCShyZXZpc2lvbiAyMTA4MjIp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBS
ZWY8TmV0d29ya1Byb2Nlc3NQcm94eT4gY3JlYXRlKFdlYlByb2Nlc3NQb29sJik7CiAgICAgfk5l
dHdvcmtQcm9jZXNzUHJveHkoKTsKIAotICAgIHZvaWQgZ2V0TmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uKFJlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXROZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OkRlbGF5ZWRSZXBseT4mJik7CisgICAgdm9pZCBnZXROZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24oUmVmPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmKTsKIAogICAgIERvd25sb2FkUHJveHkqIGNyZWF0
ZURvd25sb2FkUHJveHkoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CiAKQEAgLTEy
Miw3ICsxMjIsNyBAQCBwcml2YXRlOgogICAgIFdlYlByb2Nlc3NQb29sJiBtX3Byb2Nlc3NQb29s
OwogICAgIAogICAgIHVuc2lnbmVkIG1fbnVtUGVuZGluZ0Nvbm5lY3Rpb25SZXF1ZXN0czsKLSAg
ICBEZXF1ZTxSZWZQdHI8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0TmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+PiBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllczsK
KyAgICBEZXF1ZTxSZWY8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0TmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+PiBtX3BlbmRpbmdDb25uZWN0aW9uUmVwbGllczsK
IAogICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoV2Vic2l0ZURhdGEp
Pj4gbV9wZW5kaW5nRmV0Y2hXZWJzaXRlRGF0YUNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2
NF90LCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+PiBtX3BlbmRpbmdEZWxldGVXZWJzaXRlRGF0YUNh
bGxiYWNrczsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblBy
b2Nlc3NNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAJKHJldmlzaW9uIDIxMDgyMikKKysrIFNv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNzksMTIgKzc5LDEyIEBAIHVpbnQ2NF90IFBsdWdpblByb2Nlc3NN
YW5hZ2VyOjpwbHVnaW5Qcm8KICAgICByZXR1cm4gdG9rZW47CiB9CiAKLXZvaWQgUGx1Z2luUHJv
Y2Vzc01hbmFnZXI6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKHVpbnQ2NF90IHBsdWdpblBy
b2Nlc3NUb2tlbiwgUGFzc1JlZlB0cjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVn
aW5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiByZXBseSkKK3ZvaWQgUGx1Z2luUHJv
Y2Vzc01hbmFnZXI6OmdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKHVpbnQ2NF90IHBsdWdpblBy
b2Nlc3NUb2tlbiwgUmVmPE1lc3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFBsdWdpblByb2Nl
c3NDb25uZWN0aW9uOjpEZWxheWVkUmVwbHk+JiYgcmVwbHkpCiB7CiAgICAgQVNTRVJUKHBsdWdp
blByb2Nlc3NUb2tlbik7CiAKICAgICBQbHVnaW5Qcm9jZXNzUHJveHkqIHBsdWdpblByb2Nlc3Mg
PSBnZXRPckNyZWF0ZVBsdWdpblByb2Nlc3MocGx1Z2luUHJvY2Vzc1Rva2VuKTsKLSAgICBwbHVn
aW5Qcm9jZXNzLT5nZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihyZXBseSk7CisgICAgcGx1Z2lu
UHJvY2Vzcy0+Z2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24oV1RGTW92ZShyZXBseSkpOwogfQog
CiB2b2lkIFBsdWdpblByb2Nlc3NNYW5hZ2VyOjpyZW1vdmVQbHVnaW5Qcm9jZXNzUHJveHkoUGx1
Z2luUHJvY2Vzc1Byb3h5KiBwbHVnaW5Qcm9jZXNzUHJveHkpCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmgJ
KHJldmlzaW9uIDIxMDgyMikKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDcgKzU4LDcgQEAgcHVi
bGljOgogCiAgICAgdWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuKGNvbnN0IFBsdWdpbk1vZHVs
ZUluZm8mLCBQbHVnaW5Qcm9jZXNzVHlwZSwgUGx1Z2luUHJvY2Vzc1NhbmRib3hQb2xpY3kpOwog
Ci0gICAgdm9pZCBnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbih1aW50NjRfdCBwbHVnaW5Qcm9j
ZXNzVG9rZW4sIFBhc3NSZWZQdHI8TWVzc2FnZXM6OldlYlByb2Nlc3NQcm94eTo6R2V0UGx1Z2lu
UHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBseT4pOworICAgIHZvaWQgZ2V0UGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb24odWludDY0X3QgcGx1Z2luUHJvY2Vzc1Rva2VuLCBSZWY8TWVzc2FnZXM6
OldlYlByb2Nlc3NQcm94eTo6R2V0UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb246OkRlbGF5ZWRSZXBs
eT4mJik7CiAgICAgdm9pZCByZW1vdmVQbHVnaW5Qcm9jZXNzUHJveHkoUGx1Z2luUHJvY2Vzc1By
b3h5Kik7CiAKICAgICB2b2lkIGZldGNoV2Vic2l0ZURhdGEoY29uc3QgUGx1Z2luTW9kdWxlSW5m
byYsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoVmVjdG9yPFN0cmluZz4pPiBjb21wbGV0aW9uSGFuZGxl
cik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNz
UHJveHkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NQcm94eS5jcHAJKHJldmlzaW9uIDIxMDgyMikKKysrIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTk5LDkgKzk5LDkgQEAgdm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OnByb2Nlc3NXaWxs
U2h1dAogCiAvLyBBc2tzIHRoZSBwbHVnLWluIHByb2Nlc3MgdG8gY3JlYXRlIGEgbmV3IGNvbm5l
Y3Rpb24gdG8gYSB3ZWIgcHJvY2Vzcy4gVGhlIGNvbm5lY3Rpb24gaWRlbnRpZmllciB3aWxsIGJl
IAogLy8gZW5jb2RlZCBpbiB0aGUgZ2l2ZW4gYXJndW1lbnQgZW5jb2RlciBhbmQgc2VudCBiYWNr
IHRvIHRoZSBjb25uZWN0aW9uIG9mIHRoZSBnaXZlbiB3ZWIgcHJvY2Vzcy4KLXZvaWQgUGx1Z2lu
UHJvY2Vzc1Byb3h5OjpnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1lc3Nh
Z2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpEZWxheWVk
UmVwbHk+IHJlcGx5KQordm9pZCBQbHVnaW5Qcm9jZXNzUHJveHk6OmdldFBsdWdpblByb2Nlc3ND
b25uZWN0aW9uKFJlZjxNZXNzYWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5Qcm9jZXNz
Q29ubmVjdGlvbjo6RGVsYXllZFJlcGx5PiYmIHJlcGx5KQogewotICAgIG1fcGVuZGluZ0Nvbm5l
Y3Rpb25SZXBsaWVzLmFwcGVuZChyZXBseSk7CisgICAgbV9wZW5kaW5nQ29ubmVjdGlvblJlcGxp
ZXMuYXBwZW5kKFdURk1vdmUocmVwbHkpKTsKIAogICAgIGlmIChzdGF0ZSgpID09IFN0YXRlOjpM
YXVuY2hpbmcpIHsKICAgICAgICAgbV9udW1QZW5kaW5nQ29ubmVjdGlvblJlcXVlc3RzKys7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHku
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuaAkocmV2aXNpb24gMjEwODIyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTc2LDcg
Kzc2LDcgQEAgcHVibGljOgogCiAgICAgLy8gQXNrcyB0aGUgcGx1Zy1pbiBwcm9jZXNzIHRvIGNy
ZWF0ZSBhIG5ldyBjb25uZWN0aW9uIHRvIGEgd2ViIHByb2Nlc3MuIFRoZSBjb25uZWN0aW9uIGlk
ZW50aWZpZXIgd2lsbCBiZQogICAgIC8vIGVuY29kZWQgaW4gdGhlIGdpdmVuIGFyZ3VtZW50IGVu
Y29kZXIgYW5kIHNlbnQgYmFjayB0byB0aGUgY29ubmVjdGlvbiBvZiB0aGUgZ2l2ZW4gd2ViIHBy
b2Nlc3MuCi0gICAgdm9pZCBnZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbihQYXNzUmVmUHRyPE1l
c3NhZ2VzOjpXZWJQcm9jZXNzUHJveHk6OkdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uOjpEZWxh
eWVkUmVwbHk+KTsKKyAgICB2b2lkIGdldFBsdWdpblByb2Nlc3NDb25uZWN0aW9uKFJlZjxNZXNz
YWdlczo6V2ViUHJvY2Vzc1Byb3h5OjpHZXRQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbjo6RGVsYXll
ZFJlcGx5PiYmKTsKIAogICAgIHZvaWQgZmV0Y2hXZWJzaXRlRGF0YShzdGQ6OmZ1bmN0aW9uPHZv
aWQgKFZlY3RvcjxTdHJpbmc+KT4gY29tcGxldGlvbkhhbmRsZXIpOwogICAgIHZvaWQgZGVsZXRl
V2Vic2l0ZURhdGEoc3RkOjpjaHJvbm86OnN5c3RlbV9jbG9jazo6dGltZV9wb2ludCBtb2RpZmll
ZFNpbmNlLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKTsK
</data>
<flag name="review"
          id="321173"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>