<?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>132799</bug_id>
          
          <creation_ts>2014-05-10 23:19:45 -0700</creation_ts>
          <short_desc>Clean up MainThreadTask</short_desc>
          <delta_ts>2014-05-12 00:05:34 -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>
          
          <blocked>132800</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1008383</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-10 23:19:45 -0700</bug_when>
    <thetext>Clean up MainThreadTask</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008384</commentid>
    <comment_count>1</comment_count>
      <attachid>231252</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-10 23:25:17 -0700</bug_when>
    <thetext>Created attachment 231252
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008385</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-05-10 23:26:46 -0700</bug_when>
    <thetext>Attachment 231252 did not pass style-queue:


ERROR: Source/WebCore/platform/MainThreadTask.h:40:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebCore/platform/MainThreadTask.h:44:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008433</commentid>
    <comment_count>3</comment_count>
      <attachid>231252</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-05-11 11:14:03 -0700</bug_when>
    <thetext>Comment on attachment 231252
Patch

A fine refinement. But I suggest we do the cross-thread copying explicitly and use plain old lambdas rather than having this MainThreadTask class at all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008491</commentid>
    <comment_count>4</comment_count>
      <attachid>231252</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-12 00:05:27 -0700</bug_when>
    <thetext>Comment on attachment 231252
Patch

Clearing flags on attachment: 231252

Committed r168611: &lt;http://trac.webkit.org/changeset/168611&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1008492</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-05-12 00:05:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231252</attachid>
            <date>2014-05-10 23:25:17 -0700</date>
            <delta_ts>2014-05-12 00:05:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-132799-20140510232453.patch</filename>
            <type>text/plain</type>
            <size>27014</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2ODU5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUxIEBACisyMDE0LTA1LTEwICBaYW4gRG9i
ZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBNYWluVGhy
ZWFkVGFzaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMyNzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
T25seSBoYXZlIG9uZSBzaW1wbGUgTWFpblRocmVhZFRhc2sgY2xhc3MgdGhhdCBkZXJpdmVzIGZy
b20gc3RkOjpmdW5jdGlvbjx2b2lkICgpPi4KKyAgICAgICAgSXRzIHRlbXBsYXRlZCBjb25zdHJ1
Y3RvciB0YWtlcyBpbiB0aGUgbWV0aG9kIGFuZCBhIHZhcmlhZGljIHBhY2sgb2YgcGFyYW1ldGVy
cy4KKyAgICAgICAgVGhlIGNyb3NzLXRocmVhZCBjb3BpZXMgb2YgdGhlIHBhcmFtZXRlciBhcmUg
dGhlbiBib3VuZCB0byB0aGUgZ2l2ZW4gbWV0aG9kIHRocm91Z2gKKyAgICAgICAgc3RkOjpiaW5k
KCksIHdpdGggdGhlIHJlc3VsdGluZyBiaW5kIGV4cHJlc3Npb24gdXNlZCB0byBpbml0aWFsaXpl
IHRoZSBiYXNlCisgICAgICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4gY2xhc3MuCisKKyAgICAg
ICAgVGhlIFdlYkNvcmU6OmNhbGxPbk1haW5UaHJlYWQoKSBmdW5jdGlvbnMgYW5kIHRoZSBoZWxw
ZXIgY2xhc3NlcyBhcmUgcmVtb3ZlZCBpbiBmYXZvcgorICAgICAgICBvZiBwYXNzaW5nIE1haW5U
aHJlYWRUYXNrIHJ2YWx1ZXMgZGlyZWN0bHkgdG8gV1RGOjpjYWxsT25NYWluVGhyZWFkKCkuCisK
KyAgICAgICAgKiBmaWxlYXBpL0FzeW5jRmlsZVN0cmVhbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpBc3luY0ZpbGVTdHJlYW06OnN0YXJ0T25GaWxlVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkFzeW5jRmlsZVN0cmVhbTo6c3RvcE9uRmlsZVRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpB
c3luY0ZpbGVTdHJlYW06OmdldFNpemVPbkZpbGVUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6
QXN5bmNGaWxlU3RyZWFtOjpvcGVuRm9yUmVhZE9uRmlsZVRocmVhZCk6CisgICAgICAgIChXZWJD
b3JlOjpBc3luY0ZpbGVTdHJlYW06Om9wZW5Gb3JXcml0ZU9uRmlsZVRocmVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpBc3luY0ZpbGVTdHJlYW06OnJlYWRPbkZpbGVUaHJlYWQpOgorICAgICAgICAo
V2ViQ29yZTo6QXN5bmNGaWxlU3RyZWFtOjp3cml0ZU9uRmlsZVRocmVhZCk6CisgICAgICAgIChX
ZWJDb3JlOjpBc3luY0ZpbGVTdHJlYW06OnRydW5jYXRlT25GaWxlVGhyZWFkKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9NYWluVGhyZWFkVGFzay5oOgorICAgICAgICAoV2ViQ29yZTo6TWFpblRocmVh
ZFRhc2s6Ok1haW5UaHJlYWRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1haW5UaHJlYWRUYXNr
QmFzZTo6TWFpblRocmVhZFRhc2tCYXNlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1h
aW5UaHJlYWRUYXNrQmFzZTo6fk1haW5UaHJlYWRUYXNrQmFzZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazE6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNYWluVGhyZWFkVGFzazE6Ok1haW5UaHJlYWRUYXNrMSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazI6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAg
IChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazI6Ok1haW5UaHJlYWRUYXNrMik6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazM6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazM6Ok1haW5UaHJlYWRUYXNrMyk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazQ6OmNyZWF0ZSk6IERlbGV0ZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazQ6Ok1haW5UaHJlYWRUYXNrNCk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazU6OmNyZWF0ZSk6IERlbGV0ZWQu
CisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazU6Ok1haW5UaHJlYWRUYXNrNSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazY6OmNyZWF0ZSk6IERlbGV0
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazY6Ok1haW5UaHJlYWRUYXNrNik6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazc6OmNyZWF0ZSk6IERl
bGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazc6Ok1haW5UaHJlYWRUYXNr
Nyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazg6OmNyZWF0ZSk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpNYWluVGhyZWFkVGFzazg6Ok1haW5UaHJlYWRU
YXNrOCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpleGVjdXRlTWFpblRocmVhZFRhc2sp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6Y2FsbE9uTWFpblRocmVhZCk6IERlbGV0ZWQu
CisKIDIwMTQtMDUtMTAgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW1dLV2ViVmlldyBfdXBkYXRlU2Nyb2xsVmlld0JhY2tncm91bmRdIGNodXJucyBV
SS1hbmQtQ0dDb2xvcnMgd2hpbGUgcmVwYWludGluZwpJbmRleDogU291cmNlL1dlYkNvcmUvZmls
ZWFwaS9Bc3luY0ZpbGVTdHJlYW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Zp
bGVhcGkvQXN5bmNGaWxlU3RyZWFtLmNwcAkocmV2aXNpb24gMTY4NTk1KQorKysgU291cmNlL1dl
YkNvcmUvZmlsZWFwaS9Bc3luY0ZpbGVTdHJlYW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEs
NyArMTAxLDcgQEAgdm9pZCBBc3luY0ZpbGVTdHJlYW06OnN0YXJ0T25GaWxlVGhyZWFkKAogICAg
IGlmICghbV9jbGllbnQpCiAgICAgICAgIHJldHVybjsKICAgICBtX3N0cmVhbS0+c3RhcnQoKTsK
LSAgICBjYWxsT25NYWluVGhyZWFkKGRpZFN0YXJ0LCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRo
aXMpKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKE1haW5UaHJlYWRUYXNrKGRpZFN0YXJ0LCBBbGxv
d0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpKSk7CiB9CiAKIHZvaWQgQXN5bmNGaWxlU3RyZWFtOjpz
dG9wKCkKQEAgLTEyMiw3ICsxMjIsNyBAQCBzdGF0aWMgdm9pZCBkZXJlZlByb3h5T25NYWluVGhy
ZWFkKEFzeW5jCiB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6c3RvcE9uRmlsZVRocmVhZCgpCiB7CiAg
ICAgbV9zdHJlYW0tPnN0b3AoKTsKLSAgICBjYWxsT25NYWluVGhyZWFkKGRlcmVmUHJveHlPbk1h
aW5UaHJlYWQsIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcykpOworICAgIGNhbGxPbk1haW5U
aHJlYWQoTWFpblRocmVhZFRhc2soZGVyZWZQcm94eU9uTWFpblRocmVhZCwgQWxsb3dDcm9zc1Ro
cmVhZEFjY2Vzcyh0aGlzKSkpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRHZXRTaXplKEFzeW5jRmls
ZVN0cmVhbSogcHJveHksIGxvbmcgbG9uZyBzaXplKQpAQCAtMTM5LDcgKzEzOSw3IEBAIHZvaWQg
QXN5bmNGaWxlU3RyZWFtOjpnZXRTaXplKGNvbnN0IFN0cmkKIHZvaWQgQXN5bmNGaWxlU3RyZWFt
OjpnZXRTaXplT25GaWxlVGhyZWFkKGNvbnN0IFN0cmluZyYgcGF0aCwgZG91YmxlIGV4cGVjdGVk
TW9kaWZpY2F0aW9uVGltZSkKIHsKICAgICBsb25nIGxvbmcgc2l6ZSA9IG1fc3RyZWFtLT5nZXRT
aXplKHBhdGgsIGV4cGVjdGVkTW9kaWZpY2F0aW9uVGltZSk7Ci0gICAgY2FsbE9uTWFpblRocmVh
ZChkaWRHZXRTaXplLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzaXplKTsKKyAgICBj
YWxsT25NYWluVGhyZWFkKE1haW5UaHJlYWRUYXNrKGRpZEdldFNpemUsIEFsbG93Q3Jvc3NUaHJl
YWRBY2Nlc3ModGhpcyksIHNpemUpKTsKIH0KIAogc3RhdGljIHZvaWQgZGlkT3BlbihBc3luY0Zp
bGVTdHJlYW0qIHByb3h5LCBib29sIHN1Y2Nlc3MpCkBAIC0xNTYsNyArMTU2LDcgQEAgdm9pZCBB
c3luY0ZpbGVTdHJlYW06Om9wZW5Gb3JSZWFkKGNvbnN0CiB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6
b3BlbkZvclJlYWRPbkZpbGVUaHJlYWQoY29uc3QgU3RyaW5nJiBwYXRoLCBsb25nIGxvbmcgb2Zm
c2V0LCBsb25nIGxvbmcgbGVuZ3RoKQogewogICAgIGJvb2wgc3VjY2VzcyA9IG1fc3RyZWFtLT5v
cGVuRm9yUmVhZChwYXRoLCBvZmZzZXQsIGxlbmd0aCk7Ci0gICAgY2FsbE9uTWFpblRocmVhZChk
aWRPcGVuLCBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKHRoaXMpLCBzdWNjZXNzKTsKKyAgICBjYWxs
T25NYWluVGhyZWFkKE1haW5UaHJlYWRUYXNrKGRpZE9wZW4sIEFsbG93Q3Jvc3NUaHJlYWRBY2Nl
c3ModGhpcyksIHN1Y2Nlc3MpKTsKIH0KIAogdm9pZCBBc3luY0ZpbGVTdHJlYW06Om9wZW5Gb3JX
cml0ZShjb25zdCBTdHJpbmcmIHBhdGgpCkBAIC0xNjksNyArMTY5LDcgQEAgdm9pZCBBc3luY0Zp
bGVTdHJlYW06Om9wZW5Gb3JXcml0ZShjb25zdAogdm9pZCBBc3luY0ZpbGVTdHJlYW06Om9wZW5G
b3JXcml0ZU9uRmlsZVRocmVhZChjb25zdCBTdHJpbmcmIHBhdGgpCiB7CiAgICAgYm9vbCBzdWNj
ZXNzID0gbV9zdHJlYW0tPm9wZW5Gb3JXcml0ZShwYXRoKTsKLSAgICBjYWxsT25NYWluVGhyZWFk
KGRpZE9wZW4sIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksIHN1Y2Nlc3MpOworICAgIGNh
bGxPbk1haW5UaHJlYWQoTWFpblRocmVhZFRhc2soZGlkT3BlbiwgQWxsb3dDcm9zc1RocmVhZEFj
Y2Vzcyh0aGlzKSwgc3VjY2VzcykpOwogfQogCiB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6Y2xvc2Uo
KQpAQCAtMTk4LDcgKzE5OCw3IEBAIHZvaWQgQXN5bmNGaWxlU3RyZWFtOjpyZWFkKGNoYXIqIGJ1
ZmZlciwKIHZvaWQgQXN5bmNGaWxlU3RyZWFtOjpyZWFkT25GaWxlVGhyZWFkKGNoYXIqIGJ1ZmZl
ciwgaW50IGxlbmd0aCkKIHsKICAgICBpbnQgYnl0ZXNSZWFkID0gbV9zdHJlYW0tPnJlYWQoYnVm
ZmVyLCBsZW5ndGgpOwotICAgIGNhbGxPbk1haW5UaHJlYWQoZGlkUmVhZCwgQWxsb3dDcm9zc1Ro
cmVhZEFjY2Vzcyh0aGlzKSwgYnl0ZXNSZWFkKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKE1haW5U
aHJlYWRUYXNrKGRpZFJlYWQsIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3ModGhpcyksIGJ5dGVzUmVh
ZCkpOwogfQogCiBzdGF0aWMgdm9pZCBkaWRXcml0ZShBc3luY0ZpbGVTdHJlYW0qIHByb3h5LCBp
bnQgYnl0ZXNXcml0dGVuKQpAQCAtMjE1LDcgKzIxNSw3IEBAIHZvaWQgQXN5bmNGaWxlU3RyZWFt
Ojp3cml0ZShjb25zdCBVUkwmIGIKIHZvaWQgQXN5bmNGaWxlU3RyZWFtOjp3cml0ZU9uRmlsZVRo
cmVhZChjb25zdCBVUkwmIGJsb2JVUkwsIGxvbmcgbG9uZyBwb3NpdGlvbiwgaW50IGxlbmd0aCkK
IHsKICAgICBpbnQgYnl0ZXNXcml0dGVuID0gbV9zdHJlYW0tPndyaXRlKGJsb2JVUkwsIHBvc2l0
aW9uLCBsZW5ndGgpOwotICAgIGNhbGxPbk1haW5UaHJlYWQoZGlkV3JpdGUsIEFsbG93Q3Jvc3NU
aHJlYWRBY2Nlc3ModGhpcyksIGJ5dGVzV3JpdHRlbik7CisgICAgY2FsbE9uTWFpblRocmVhZChN
YWluVGhyZWFkVGFzayhkaWRXcml0ZSwgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSwgYnl0
ZXNXcml0dGVuKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGRpZFRydW5jYXRlKEFzeW5jRmlsZVN0cmVh
bSogcHJveHksIGJvb2wgc3VjY2VzcykKQEAgLTIzMiw3ICsyMzIsNyBAQCB2b2lkIEFzeW5jRmls
ZVN0cmVhbTo6dHJ1bmNhdGUobG9uZyBsb25nCiB2b2lkIEFzeW5jRmlsZVN0cmVhbTo6dHJ1bmNh
dGVPbkZpbGVUaHJlYWQobG9uZyBsb25nIHBvc2l0aW9uKQogewogICAgIGJvb2wgc3VjY2VzcyA9
IG1fc3RyZWFtLT50cnVuY2F0ZShwb3NpdGlvbik7Ci0gICAgY2FsbE9uTWFpblRocmVhZChkaWRU
cnVuY2F0ZSwgQWxsb3dDcm9zc1RocmVhZEFjY2Vzcyh0aGlzKSwgc3VjY2Vzcyk7CisgICAgY2Fs
bE9uTWFpblRocmVhZChNYWluVGhyZWFkVGFzayhkaWRUcnVuY2F0ZSwgQWxsb3dDcm9zc1RocmVh
ZEFjY2Vzcyh0aGlzKSwgc3VjY2VzcykpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9NYWluVGhyZWFkVGFzay5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01haW5UaHJlYWRUYXNrLmgJKHJldmlzaW9uIDE2
ODU5NSkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL01haW5UaHJlYWRUYXNrLmgJKHdvcmtp
bmcgY29weSkKQEAgLTMzLDQ2MCArMzMsMTkgQEAKICNkZWZpbmUgTWFpblRocmVhZFRhc2tfaAog
CiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRDb3BpZXIuaCIKLSNpbmNsdWRlIDxtZW1vcnk+Ci0jaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KLSNpbmNsdWRlIDx3dGYvUGFzc093blB0ci5oPgotI2lu
Y2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi0vLyBUcmFpdHMgZm9yIHRoZSBNYWluVGhyZWFkVGFzay4KLXRlbXBs
YXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBNYWluVGhyZWFkVGFza1RyYWl0cyB7Ci0gICAgdHlwZWRl
ZiBjb25zdCBUJiBQYXJhbVR5cGU7Ci19OwotCi10ZW1wbGF0ZTx0eXBlbmFtZSBUPiBzdHJ1Y3Qg
TWFpblRocmVhZFRhc2tUcmFpdHM8VCo+IHsKLSAgICB0eXBlZGVmIFQqIFBhcmFtVHlwZTsKLX07
Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBNYWluVGhyZWFkVGFza1RyYWl0czxQYXNz
UmVmUHRyPFQ+PiB7Ci0gICAgdHlwZWRlZiBQYXNzUmVmUHRyPFQ+IFBhcmFtVHlwZTsKLX07Ci0K
LXRlbXBsYXRlPHR5cGVuYW1lIFQ+IHN0cnVjdCBNYWluVGhyZWFkVGFza1RyYWl0czxQYXNzT3du
UHRyPFQ+PiB7Ci0gICAgdHlwZWRlZiBQYXNzT3duUHRyPFQ+IFBhcmFtVHlwZTsKLX07Ci0KLWNs
YXNzIE1haW5UaHJlYWRUYXNrQmFzZSB7Ci1XVEZfTUFLRV9OT05DT1BZQUJMRShNYWluVGhyZWFk
VGFza0Jhc2UpOwotV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgTWFpblRo
cmVhZFRhc2tCYXNlKCkgeyB9Ci0gICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKCkgPSAwOwot
ICAgIHZpcnR1YWwgfk1haW5UaHJlYWRUYXNrQmFzZSgpIHsgfQotfTsKLQotdGVtcGxhdGU8dHlw
ZW5hbWUgUDEsIHR5cGVuYW1lIE1QMT4KLWNsYXNzIE1haW5UaHJlYWRUYXNrMSA6IHB1YmxpYyBN
YWluVGhyZWFkVGFza0Jhc2UgewotcHVibGljOgotICAgIHR5cGVkZWYgdm9pZCAoKk1ldGhvZCko
TVAxKTsKLSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrMTxQMSwgTVAxPiBNYWluVGhyZWFkVGFz
azsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1U
eXBlIFBhcmFtMTsKLQotICAgIHN0YXRpYyBQYXNzT3duUHRyPE1haW5UaHJlYWRUYXNrPiBjcmVh
dGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEpCi0gICAgewotICAgICAgICByZXR1
cm4gYWRvcHRQdHIobmV3IE1haW5UaHJlYWRUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSkpOwotICAg
IH0KLQotcHJpdmF0ZToKLSAgICBNYWluVGhyZWFkVGFzazEoTWV0aG9kIG1ldGhvZCwgUGFyYW0x
IHBhcmFtZXRlcjEpCi0gICAgICAgIDogbV9tZXRob2QobWV0aG9kKQotICAgICAgICAsIG1fcGFy
YW1ldGVyMShwYXJhbWV0ZXIxKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGVy
Zm9ybVRhc2soKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgKCptX21ldGhvZCkobV9wYXJhbWV0
ZXIxKTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWV0aG9kIG1fbWV0aG9kOwotICAgIFAxIG1f
cGFyYW1ldGVyMTsKLX07Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBNUDEsIHR5
cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDI+Ci1jbGFzcyBNYWluVGhyZWFkVGFzazIgOiBwdWJsaWMg
TWFpblRocmVhZFRhc2tCYXNlIHsKLXB1YmxpYzoKLSAgICB0eXBlZGVmIHZvaWQgKCpNZXRob2Qp
KE1QMSwgTVAyKTsKLSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrMjxQMSwgTVAxLCBQMiwgTVAy
PiBNYWluVGhyZWFkVGFzazsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJh
aXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJl
YWRUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsKLQotICAgIHN0YXRpYyBQYXNzT3du
UHRyPE1haW5UaHJlYWRUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRl
cjEsIFBhcmFtMiBwYXJhbWV0ZXIyKQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5l
dyBNYWluVGhyZWFkVGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIpKTsKLSAgICB9
Ci0KLXByaXZhdGU6Ci0gICAgTWFpblRocmVhZFRhc2syKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBw
YXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVyMikKLSAgICAgICAgOiBtX21ldGhvZChtZXRob2Qp
Ci0gICAgICAgICwgbV9wYXJhbWV0ZXIxKHBhcmFtZXRlcjEpCi0gICAgICAgICwgbV9wYXJhbWV0
ZXIyKHBhcmFtZXRlcjIpCi0gICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCBwZXJmb3Jt
VGFzaygpIG92ZXJyaWRlCi0gICAgewotICAgICAgICAoKm1fbWV0aG9kKShtX3BhcmFtZXRlcjEs
IG1fcGFyYW1ldGVyMik7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIE1ldGhvZCBtX21ldGhvZDsK
LSAgICBQMSBtX3BhcmFtZXRlcjE7Ci0gICAgUDIgbV9wYXJhbWV0ZXIyOwotfTsKLQotdGVtcGxh
dGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwg
dHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMz4KLWNsYXNzIE1haW5UaHJlYWRUYXNrMyA6IHB1Ymxp
YyBNYWluVGhyZWFkVGFza0Jhc2UgeworY2xhc3MgTWFpblRocmVhZFRhc2sgOiBwdWJsaWMgc3Rk
OjpmdW5jdGlvbjx2b2lkICgpPiB7CiBwdWJsaWM6Ci0gICAgdHlwZWRlZiB2b2lkICgqTWV0aG9k
KShNUDEsIE1QMiwgTVAzKTsKLSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrMzxQMSwgTVAxLCBQ
MiwgTVAyLCBQMywgTVAzPiBNYWluVGhyZWFkVGFzazsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1h
aW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKLSAgICB0eXBlZGVmIHR5
cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsKLSAgICB0
eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFt
MzsKLQotICAgIHN0YXRpYyBQYXNzT3duUHRyPE1haW5UaHJlYWRUYXNrPiBjcmVhdGUoTWV0aG9k
IG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFy
YW1ldGVyMykKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgTWFpblRocmVhZFRh
c2sobWV0aG9kLCBwYXJhbWV0ZXIxLCBwYXJhbWV0ZXIyLCBwYXJhbWV0ZXIzKSk7Ci0gICAgfQot
Ci1wcml2YXRlOgotICAgIE1haW5UaHJlYWRUYXNrMyhNZXRob2QgbWV0aG9kLCBQYXJhbTEgcGFy
YW1ldGVyMSwgUGFyYW0yIHBhcmFtZXRlcjIsIFBhcmFtMyBwYXJhbWV0ZXIzKQotICAgICAgICA6
IG1fbWV0aG9kKG1ldGhvZCkKLSAgICAgICAgLCBtX3BhcmFtZXRlcjEocGFyYW1ldGVyMSkKLSAg
ICAgICAgLCBtX3BhcmFtZXRlcjIocGFyYW1ldGVyMikKLSAgICAgICAgLCBtX3BhcmFtZXRlcjMo
cGFyYW1ldGVyMykKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNr
KCkgb3ZlcnJpZGUKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBNZXRob2QsIHR5cGVuYW1lLi4uIFBh
cmFtZXRlcnM+CisgICAgTWFpblRocmVhZFRhc2soTWV0aG9kIG1ldGhvZCwgY29uc3QgUGFyYW1l
dGVycyYuLi4gcGFyYW1ldGVycykKKyAgICAgICAgOiBzdGQ6OmZ1bmN0aW9uPHZvaWQgKCk+KHN0
ZDo6YmluZChtZXRob2QsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFBhcmFtZXRlcnM+OjpU
eXBlKENyb3NzVGhyZWFkQ29waWVyPFBhcmFtZXRlcnM+Ojpjb3B5KHBhcmFtZXRlcnMpKS4uLikp
CiAgICAgewotICAgICAgICAoKm1fbWV0aG9kKShtX3BhcmFtZXRlcjEsIG1fcGFyYW1ldGVyMiwg
bV9wYXJhbWV0ZXIzKTsKICAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWV0aG9kIG1fbWV0aG9kOwot
ICAgIFAxIG1fcGFyYW1ldGVyMTsKLSAgICBQMiBtX3BhcmFtZXRlcjI7Ci0gICAgUDMgbV9wYXJh
bWV0ZXIzOwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5h
bWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMywgdHlwZW5hbWUg
UDQsIHR5cGVuYW1lIE1QND4KLWNsYXNzIE1haW5UaHJlYWRUYXNrNCA6IHB1YmxpYyBNYWluVGhy
ZWFkVGFza0Jhc2UgewotcHVibGljOgotICAgIHR5cGVkZWYgdm9pZCAoKk1ldGhvZCkoTVAxLCBN
UDIsIE1QMywgTVA0KTsKLSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrNDxQMSwgTVAxLCBQMiwg
TVAyLCBQMywgTVAzLCBQNCwgTVA0PiBNYWluVGhyZWFkVGFzazsKLSAgICB0eXBlZGVmIHR5cGVu
YW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKLSAgICB0eXBl
ZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsK
LSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBl
IFBhcmFtMzsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA0Pjo6
UGFyYW1UeXBlIFBhcmFtNDsKLQotICAgIHN0YXRpYyBQYXNzT3duUHRyPE1haW5UaHJlYWRUYXNr
PiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0
ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQpCi0gICAgewotICAgICAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IE1haW5UaHJlYWRUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwg
cGFyYW1ldGVyMiwgcGFyYW1ldGVyMywgcGFyYW1ldGVyNCkpOwotICAgIH0KLQotcHJpdmF0ZToK
LSAgICBNYWluVGhyZWFkVGFzazQoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEsIFBh
cmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQpCi0g
ICAgICAgIDogbV9tZXRob2QobWV0aG9kKQotICAgICAgICAsIG1fcGFyYW1ldGVyMShwYXJhbWV0
ZXIxKQotICAgICAgICAsIG1fcGFyYW1ldGVyMihwYXJhbWV0ZXIyKQotICAgICAgICAsIG1fcGFy
YW1ldGVyMyhwYXJhbWV0ZXIzKQotICAgICAgICAsIG1fcGFyYW1ldGVyNChwYXJhbWV0ZXI0KQot
ICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSBvdmVycmlkZQot
ICAgIHsKLSAgICAgICAgKCptX21ldGhvZCkobV9wYXJhbWV0ZXIxLCBtX3BhcmFtZXRlcjIsIG1f
cGFyYW1ldGVyMywgbV9wYXJhbWV0ZXI0KTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWV0aG9k
IG1fbWV0aG9kOwotICAgIFAxIG1fcGFyYW1ldGVyMTsKLSAgICBQMiBtX3BhcmFtZXRlcjI7Ci0g
ICAgUDMgbV9wYXJhbWV0ZXIzOwotICAgIFA0IG1fcGFyYW1ldGVyNDsKIH07CiAKLXRlbXBsYXRl
PHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBNUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDIsIHR5
cGVuYW1lIFAzLCB0eXBlbmFtZSBNUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBNUDQsIHR5cGVu
YW1lIFA1LCB0eXBlbmFtZSBNUDU+Ci1jbGFzcyBNYWluVGhyZWFkVGFzazUgOiBwdWJsaWMgTWFp
blRocmVhZFRhc2tCYXNlIHsKLXB1YmxpYzoKLSAgICB0eXBlZGVmIHZvaWQgKCpNZXRob2QpKE1Q
MSwgTVAyLCBNUDMsIE1QNCwgTVA1KTsKLSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrNTxQMSwg
TVAxLCBQMiwgTVAyLCBQMywgTVAzLCBQNCwgTVA0LCBQNSwgTVA1PiBNYWluVGhyZWFkVGFzazsK
LSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBl
IFBhcmFtMTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAyPjo6
UGFyYW1UeXBlIFBhcmFtMjsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJh
aXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFtMzsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJl
YWRUYXNrVHJhaXRzPFA0Pjo6UGFyYW1UeXBlIFBhcmFtNDsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IE1haW5UaHJlYWRUYXNrVHJhaXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLQotICAgIHN0YXRp
YyBQYXNzT3duUHRyPE1haW5UaHJlYWRUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0x
IHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00
IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJhbWV0ZXI1KQotICAgIHsKLSAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBNYWluVGhyZWFkVGFzayhtZXRob2QsIHBhcmFtZXRlcjEsIHBhcmFtZXRlcjIs
IHBhcmFtZXRlcjMsIHBhcmFtZXRlcjQsIHBhcmFtZXRlcjUpKTsKLSAgICB9Ci0KLXByaXZhdGU6
Ci0gICAgTWFpblRocmVhZFRhc2s1KE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQ
YXJhbTIgcGFyYW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0LCBQ
YXJhbTUgcGFyYW1ldGVyNSkKLSAgICAgICAgOiBtX21ldGhvZChtZXRob2QpCi0gICAgICAgICwg
bV9wYXJhbWV0ZXIxKHBhcmFtZXRlcjEpCi0gICAgICAgICwgbV9wYXJhbWV0ZXIyKHBhcmFtZXRl
cjIpCi0gICAgICAgICwgbV9wYXJhbWV0ZXIzKHBhcmFtZXRlcjMpCi0gICAgICAgICwgbV9wYXJh
bWV0ZXI0KHBhcmFtZXRlcjQpCi0gICAgICAgICwgbV9wYXJhbWV0ZXI1KHBhcmFtZXRlcjUpCi0g
ICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICAoKm1fbWV0aG9kKShtX3BhcmFtZXRlcjEsIG1fcGFyYW1ldGVyMiwgbV9w
YXJhbWV0ZXIzLCBtX3BhcmFtZXRlcjQsIG1fcGFyYW1ldGVyNSk7Ci0gICAgfQotCi1wcml2YXRl
OgotICAgIE1ldGhvZCBtX21ldGhvZDsKLSAgICBQMSBtX3BhcmFtZXRlcjE7Ci0gICAgUDIgbV9w
YXJhbWV0ZXIyOwotICAgIFAzIG1fcGFyYW1ldGVyMzsKLSAgICBQNCBtX3BhcmFtZXRlcjQ7Ci0g
ICAgUDUgbV9wYXJhbWV0ZXI1OwotfTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1l
IE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1Q
MywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1QNSwg
dHlwZW5hbWUgUDYsIHR5cGVuYW1lIE1QNj4KLWNsYXNzIE1haW5UaHJlYWRUYXNrNiA6IHB1Ymxp
YyBNYWluVGhyZWFkVGFza0Jhc2UgewotcHVibGljOgotICAgIHR5cGVkZWYgdm9pZCAoKk1ldGhv
ZCkoTVAxLCBNUDIsIE1QMywgTVA0LCBNUDUsIE1QNik7Ci0gICAgdHlwZWRlZiBNYWluVGhyZWFk
VGFzazY8UDEsIE1QMSwgUDIsIE1QMiwgUDMsIE1QMywgUDQsIE1QNCwgUDUsIE1QNSwgUDYsIE1Q
Nj4gTWFpblRocmVhZFRhc2s7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBNYWluVGhyZWFkVGFza1Ry
YWl0czxQMT46OlBhcmFtVHlwZSBQYXJhbTE7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBNYWluVGhy
ZWFkVGFza1RyYWl0czxQMj46OlBhcmFtVHlwZSBQYXJhbTI7Ci0gICAgdHlwZWRlZiB0eXBlbmFt
ZSBNYWluVGhyZWFkVGFza1RyYWl0czxQMz46OlBhcmFtVHlwZSBQYXJhbTM7Ci0gICAgdHlwZWRl
ZiB0eXBlbmFtZSBNYWluVGhyZWFkVGFza1RyYWl0czxQND46OlBhcmFtVHlwZSBQYXJhbTQ7Ci0g
ICAgdHlwZWRlZiB0eXBlbmFtZSBNYWluVGhyZWFkVGFza1RyYWl0czxQNT46OlBhcmFtVHlwZSBQ
YXJhbTU7Ci0gICAgdHlwZWRlZiB0eXBlbmFtZSBNYWluVGhyZWFkVGFza1RyYWl0czxQNj46OlBh
cmFtVHlwZSBQYXJhbTY7Ci0KLSAgICBzdGF0aWMgUGFzc093blB0cjxNYWluVGhyZWFkVGFzaz4g
Y3JlYXRlKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFyYW1ldGVy
MiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFyYW1ldGVy
NSwgUGFyYW02IHBhcmFtZXRlcjYpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3
IE1haW5UaHJlYWRUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVy
MywgcGFyYW1ldGVyNCwgcGFyYW1ldGVyNSwgcGFyYW1ldGVyNikpOwotICAgIH0KLQotcHJpdmF0
ZToKLSAgICBNYWluVGhyZWFkVGFzazYoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRlcjEs
IFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRlcjQs
IFBhcmFtNSBwYXJhbWV0ZXI1LCBQYXJhbTYgcGFyYW1ldGVyNikKLSAgICAgICAgOiBtX21ldGhv
ZChtZXRob2QpCi0gICAgICAgICwgbV9wYXJhbWV0ZXIxKHBhcmFtZXRlcjEpCi0gICAgICAgICwg
bV9wYXJhbWV0ZXIyKHBhcmFtZXRlcjIpCi0gICAgICAgICwgbV9wYXJhbWV0ZXIzKHBhcmFtZXRl
cjMpCi0gICAgICAgICwgbV9wYXJhbWV0ZXI0KHBhcmFtZXRlcjQpCi0gICAgICAgICwgbV9wYXJh
bWV0ZXI1KHBhcmFtZXRlcjUpCi0gICAgICAgICwgbV9wYXJhbWV0ZXI2KHBhcmFtZXRlcjYpCi0g
ICAgewotICAgIH0KLQotICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzaygpIG92ZXJyaWRlCi0g
ICAgewotICAgICAgICAoKm1fbWV0aG9kKShtX3BhcmFtZXRlcjEsIG1fcGFyYW1ldGVyMiwgbV9w
YXJhbWV0ZXIzLCBtX3BhcmFtZXRlcjQsIG1fcGFyYW1ldGVyNSwgbV9wYXJhbWV0ZXI2KTsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgTWV0aG9kIG1fbWV0aG9kOwotICAgIFAxIG1fcGFyYW1ldGVy
MTsKLSAgICBQMiBtX3BhcmFtZXRlcjI7Ci0gICAgUDMgbV9wYXJhbWV0ZXIzOwotICAgIFA0IG1f
cGFyYW1ldGVyNDsKLSAgICBQNSBtX3BhcmFtZXRlcjU7Ci0gICAgUDYgbV9wYXJhbWV0ZXI2Owot
fTsKLQotdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIsIHR5
cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMywgdHlwZW5hbWUgUDQsIHR5cGVu
YW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1QNSwgdHlwZW5hbWUgUDYsIHR5cGVuYW1l
IE1QNiwgdHlwZW5hbWUgUDcsIHR5cGVuYW1lIE1QNz4KLWNsYXNzIE1haW5UaHJlYWRUYXNrNyA6
IHB1YmxpYyBNYWluVGhyZWFkVGFza0Jhc2UgewotcHVibGljOgotICAgIHR5cGVkZWYgdm9pZCAo
Kk1ldGhvZCkoTVAxLCBNUDIsIE1QMywgTVA0LCBNUDUsIE1QNiwgTVA3KTsKLSAgICB0eXBlZGVm
IE1haW5UaHJlYWRUYXNrNzxQMSwgTVAxLCBQMiwgTVAyLCBQMywgTVAzLCBQNCwgTVA0LCBQNSwg
TVA1LCBQNiwgTVA2LCBQNywgTVA3PiBNYWluVGhyZWFkVGFzazsKLSAgICB0eXBlZGVmIHR5cGVu
YW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1UeXBlIFBhcmFtMTsKLSAgICB0eXBl
ZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAyPjo6UGFyYW1UeXBlIFBhcmFtMjsK
LSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAzPjo6UGFyYW1UeXBl
IFBhcmFtMzsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA0Pjo6
UGFyYW1UeXBlIFBhcmFtNDsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJh
aXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJl
YWRUYXNrVHJhaXRzPFA2Pjo6UGFyYW1UeXBlIFBhcmFtNjsKLSAgICB0eXBlZGVmIHR5cGVuYW1l
IE1haW5UaHJlYWRUYXNrVHJhaXRzPFA3Pjo6UGFyYW1UeXBlIFBhcmFtNzsKLQotICAgIHN0YXRp
YyBQYXNzT3duUHRyPE1haW5UaHJlYWRUYXNrPiBjcmVhdGUoTWV0aG9kIG1ldGhvZCwgUGFyYW0x
IHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00
IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJhbWV0ZXI1LCBQYXJhbTYgcGFyYW1ldGVyNiwgUGFyYW03
IHBhcmFtZXRlcjcpCi0gICAgewotICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IE1haW5UaHJl
YWRUYXNrKG1ldGhvZCwgcGFyYW1ldGVyMSwgcGFyYW1ldGVyMiwgcGFyYW1ldGVyMywgcGFyYW1l
dGVyNCwgcGFyYW1ldGVyNSwgcGFyYW1ldGVyNiwgcGFyYW1ldGVyNykpOwotICAgIH0KLQotcHJp
dmF0ZToKLSAgICBNYWluVGhyZWFkVGFzazcoTWV0aG9kIG1ldGhvZCwgUGFyYW0xIHBhcmFtZXRl
cjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFyYW00IHBhcmFtZXRl
cjQsIFBhcmFtNSBwYXJhbWV0ZXI1LCBQYXJhbTYgcGFyYW1ldGVyNiwgUGFyYW03IHBhcmFtZXRl
cjcpCi0gICAgICAgIDogbV9tZXRob2QobWV0aG9kKQotICAgICAgICAsIG1fcGFyYW1ldGVyMShw
YXJhbWV0ZXIxKQotICAgICAgICAsIG1fcGFyYW1ldGVyMihwYXJhbWV0ZXIyKQotICAgICAgICAs
IG1fcGFyYW1ldGVyMyhwYXJhbWV0ZXIzKQotICAgICAgICAsIG1fcGFyYW1ldGVyNChwYXJhbWV0
ZXI0KQotICAgICAgICAsIG1fcGFyYW1ldGVyNShwYXJhbWV0ZXI1KQotICAgICAgICAsIG1fcGFy
YW1ldGVyNihwYXJhbWV0ZXI2KQotICAgICAgICAsIG1fcGFyYW1ldGVyNyhwYXJhbWV0ZXI3KQot
ICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soKSBvdmVycmlkZQot
ICAgIHsKLSAgICAgICAgKCptX21ldGhvZCkobV9wYXJhbWV0ZXIxLCBtX3BhcmFtZXRlcjIsIG1f
cGFyYW1ldGVyMywgbV9wYXJhbWV0ZXI0LCBtX3BhcmFtZXRlcjUsIG1fcGFyYW1ldGVyNiwgbV9w
YXJhbWV0ZXI3KTsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgTWV0aG9kIG1fbWV0aG9kOwotICAg
IFAxIG1fcGFyYW1ldGVyMTsKLSAgICBQMiBtX3BhcmFtZXRlcjI7Ci0gICAgUDMgbV9wYXJhbWV0
ZXIzOwotICAgIFA0IG1fcGFyYW1ldGVyNDsKLSAgICBQNSBtX3BhcmFtZXRlcjU7Ci0gICAgUDYg
bV9wYXJhbWV0ZXI2OwotICAgIFA3IG1fcGFyYW1ldGVyNzsKLX07Ci0KLXRlbXBsYXRlPHR5cGVu
YW1lIFAxLCB0eXBlbmFtZSBNUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDIsIHR5cGVuYW1l
IFAzLCB0eXBlbmFtZSBNUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBNUDQsIHR5cGVuYW1lIFA1
LCB0eXBlbmFtZSBNUDUsIHR5cGVuYW1lIFA2LCB0eXBlbmFtZSBNUDYsIHR5cGVuYW1lIFA3LCB0
eXBlbmFtZSBNUDcsIHR5cGVuYW1lIFA4LCB0eXBlbmFtZSBNUDg+Ci1jbGFzcyBNYWluVGhyZWFk
VGFzazggOiBwdWJsaWMgTWFpblRocmVhZFRhc2tCYXNlIHsKLXB1YmxpYzoKLSAgICB0eXBlZGVm
IHZvaWQgKCpNZXRob2QpKE1QMSwgTVAyLCBNUDMsIE1QNCwgTVA1LCBNUDYsIE1QNywgTVA4KTsK
LSAgICB0eXBlZGVmIE1haW5UaHJlYWRUYXNrODxQMSwgTVAxLCBQMiwgTVAyLCBQMywgTVAzLCBQ
NCwgTVA0LCBQNSwgTVA1LCBQNiwgTVA2LCBQNywgTVA3LCBQOCwgTVA4PiBNYWluVGhyZWFkVGFz
azsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAxPjo6UGFyYW1U
eXBlIFBhcmFtMTsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFAy
Pjo6UGFyYW1UeXBlIFBhcmFtMjsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNr
VHJhaXRzPFAzPjo6UGFyYW1UeXBlIFBhcmFtMzsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5U
aHJlYWRUYXNrVHJhaXRzPFA0Pjo6UGFyYW1UeXBlIFBhcmFtNDsKLSAgICB0eXBlZGVmIHR5cGVu
YW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA1Pjo6UGFyYW1UeXBlIFBhcmFtNTsKLSAgICB0eXBl
ZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA2Pjo6UGFyYW1UeXBlIFBhcmFtNjsK
LSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA3Pjo6UGFyYW1UeXBl
IFBhcmFtNzsKLSAgICB0eXBlZGVmIHR5cGVuYW1lIE1haW5UaHJlYWRUYXNrVHJhaXRzPFA4Pjo6
UGFyYW1UeXBlIFBhcmFtODsKLSAgICAKLSAgICBzdGF0aWMgUGFzc093blB0cjxNYWluVGhyZWFk
VGFzaz4gY3JlYXRlKE1ldGhvZCBtZXRob2QsIFBhcmFtMSBwYXJhbWV0ZXIxLCBQYXJhbTIgcGFy
YW1ldGVyMiwgUGFyYW0zIHBhcmFtZXRlcjMsIFBhcmFtNCBwYXJhbWV0ZXI0LCBQYXJhbTUgcGFy
YW1ldGVyNSwgUGFyYW02IHBhcmFtZXRlcjYsIFBhcmFtNyBwYXJhbWV0ZXI3LCBQYXJhbTggcGFy
YW1ldGVyOCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgTWFpblRocmVhZFRh
c2sobWV0aG9kLCBwYXJhbWV0ZXIxLCBwYXJhbWV0ZXIyLCBwYXJhbWV0ZXIzLCBwYXJhbWV0ZXI0
LCBwYXJhbWV0ZXI1LCBwYXJhbWV0ZXI2LCBwYXJhbWV0ZXI3LCBwYXJhbWV0ZXI4KSk7Ci0gICAg
fQotICAgIAotcHJpdmF0ZToKLSAgICBNYWluVGhyZWFkVGFzazgoTWV0aG9kIG1ldGhvZCwgUGFy
YW0xIHBhcmFtZXRlcjEsIFBhcmFtMiBwYXJhbWV0ZXIyLCBQYXJhbTMgcGFyYW1ldGVyMywgUGFy
YW00IHBhcmFtZXRlcjQsIFBhcmFtNSBwYXJhbWV0ZXI1LCBQYXJhbTYgcGFyYW1ldGVyNiwgUGFy
YW03IHBhcmFtZXRlcjcsIFBhcmFtOCBwYXJhbWV0ZXI4KQotICAgICAgICA6IG1fbWV0aG9kKG1l
dGhvZCkKLSAgICAgICAgLCBtX3BhcmFtZXRlcjEocGFyYW1ldGVyMSkKLSAgICAgICAgLCBtX3Bh
cmFtZXRlcjIocGFyYW1ldGVyMikKLSAgICAgICAgLCBtX3BhcmFtZXRlcjMocGFyYW1ldGVyMykK
LSAgICAgICAgLCBtX3BhcmFtZXRlcjQocGFyYW1ldGVyNCkKLSAgICAgICAgLCBtX3BhcmFtZXRl
cjUocGFyYW1ldGVyNSkKLSAgICAgICAgLCBtX3BhcmFtZXRlcjYocGFyYW1ldGVyNikKLSAgICAg
ICAgLCBtX3BhcmFtZXRlcjcocGFyYW1ldGVyNykKLSAgICAgICAgLCBtX3BhcmFtZXRlcjgocGFy
YW1ldGVyOCkKLSAgICB7Ci0gICAgfQotICAgIAotICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFz
aygpIG92ZXJyaWRlCi0gICAgewotICAgICAgICAoKm1fbWV0aG9kKShtX3BhcmFtZXRlcjEsIG1f
cGFyYW1ldGVyMiwgbV9wYXJhbWV0ZXIzLCBtX3BhcmFtZXRlcjQsIG1fcGFyYW1ldGVyNSwgbV9w
YXJhbWV0ZXI2LCBtX3BhcmFtZXRlcjcsIG1fcGFyYW1ldGVyOCk7Ci0gICAgfQotICAgIAotcHJp
dmF0ZToKLSAgICBNZXRob2QgbV9tZXRob2Q7Ci0gICAgUDEgbV9wYXJhbWV0ZXIxOwotICAgIFAy
IG1fcGFyYW1ldGVyMjsKLSAgICBQMyBtX3BhcmFtZXRlcjM7Ci0gICAgUDQgbV9wYXJhbWV0ZXI0
OwotICAgIFA1IG1fcGFyYW1ldGVyNTsKLSAgICBQNiBtX3BhcmFtZXRlcjY7Ci0gICAgUDcgbV9w
YXJhbWV0ZXI3OwotICAgIFA4IG1fcGFyYW1ldGVyODsKLX07Ci0KLXN0YXRpYyB2b2lkIGV4ZWN1
dGVNYWluVGhyZWFkVGFzayh2b2lkKiBjb250ZXh0KQotewotICAgIE93blB0cjxNYWluVGhyZWFk
VGFza0Jhc2U+IHRhc2sgPSBhZG9wdFB0cihzdGF0aWNfY2FzdDxNYWluVGhyZWFkVGFza0Jhc2Uq
Pihjb250ZXh0KSk7Ci0gICAgdGFzay0+cGVyZm9ybVRhc2soKTsKLX0KLQotdGVtcGxhdGU8dHlw
ZW5hbWUgUDEsIHR5cGVuYW1lIE1QMT4KLXZvaWQgY2FsbE9uTWFpblRocmVhZCgKLSAgICB2b2lk
ICgqbWV0aG9kKShNUDEpLAotICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxKQotewotICAgIFdURjo6
Y2FsbE9uTWFpblRocmVhZChleGVjdXRlTWFpblRocmVhZFRhc2ssIE1haW5UaHJlYWRUYXNrMTx0
eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMT46OmNyZWF0ZSgKLSAgICAg
ICAgbWV0aG9kLAotICAgICAgICBDcm9zc1RocmVhZENvcGllcjxQMT46OmNvcHkocGFyYW1ldGVy
MSkpLmxlYWtQdHIoKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBNUDEs
IHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDI+Ci12b2lkIGNhbGxPbk1haW5UaHJlYWQoCi0gICAg
dm9pZCAoKm1ldGhvZCkoTVAxLCBNUDIpLAotICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25z
dCBQMiYgcGFyYW1ldGVyMikKLXsKLSAgICBXVEY6OmNhbGxPbk1haW5UaHJlYWQoZXhlY3V0ZU1h
aW5UaHJlYWRUYXNrLCBNYWluVGhyZWFkVGFzazI8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8
UDE+OjpUeXBlLCBNUDEsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAy
Pjo6Y3JlYXRlKAotICAgICAgICBtZXRob2QsCi0gICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFAx
Pjo6Y29weShwYXJhbWV0ZXIxKSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+Ojpjb3B5KHBhcmFtZXRl
cjIpKS5sZWFrUHRyKCkpOwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBQMSwgdHlwZW5hbWUgTVAx
LCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgTVAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgTVAzPgot
dm9pZCBjYWxsT25NYWluVGhyZWFkKAotICAgIHZvaWQgKCptZXRob2QpKE1QMSwgTVAyLCBNUDMp
LAotICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25zdCBQMiYgcGFyYW1ldGVyMiwgY29uc3Qg
UDMmIHBhcmFtZXRlcjMpCi17Ci0gICAgV1RGOjpjYWxsT25NYWluVGhyZWFkKGV4ZWN1dGVNYWlu
VGhyZWFkVGFzaywgTWFpblRocmVhZFRhc2szPHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAx
Pjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMj46OlR5cGUsIE1QMiwg
dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+OjpUeXBlLCBNUDM+OjpjcmVhdGUoCi0gICAg
ICAgIG1ldGhvZCwKLSAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+Ojpjb3B5KHBhcmFtZXRl
cjEpLCBDcm9zc1RocmVhZENvcGllcjxQMj46OmNvcHkocGFyYW1ldGVyMiksCi0gICAgICAgIENy
b3NzVGhyZWFkQ29waWVyPFAzPjo6Y29weShwYXJhbWV0ZXIzKSkubGVha1B0cigpKTsKLX0KLQot
dGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1l
IE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMywgdHlwZW5hbWUgUDQsIHR5cGVuYW1lIE1Q
ND4KLXZvaWQgY2FsbE9uTWFpblRocmVhZCgKLSAgICB2b2lkICgqbWV0aG9kKShNUDEsIE1QMiwg
TVAzLCBNUDQpLAotICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25zdCBQMiYgcGFyYW1ldGVy
MiwgY29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBwYXJhbWV0ZXI0KQotewotICAgIFdU
Rjo6Y2FsbE9uTWFpblRocmVhZChleGVjdXRlTWFpblRocmVhZFRhc2ssIE1haW5UaHJlYWRUYXNr
NDx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUsIE1QMSwgdHlwZW5hbWUgQ3Jv
c3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVy
PFAzPjo6VHlwZSwgTVAzLAotICAgICAgICB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQND46
OlR5cGUsIE1QND46OmNyZWF0ZSgKLSAgICAgICAgICAgIG1ldGhvZCwKLSAgICAgICAgICAgIENy
b3NzVGhyZWFkQ29waWVyPFAxPjo6Y29weShwYXJhbWV0ZXIxKSwgQ3Jvc3NUaHJlYWRDb3BpZXI8
UDI+Ojpjb3B5KHBhcmFtZXRlcjIpLAotICAgICAgICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+
Ojpjb3B5KHBhcmFtZXRlcjMpLCBDcm9zc1RocmVhZENvcGllcjxQND46OmNvcHkocGFyYW1ldGVy
NCkpLmxlYWtQdHIoKSk7Ci19Ci0KLXRlbXBsYXRlPHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBNUDEs
IHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBNUDIsIHR5cGVuYW1lIFAzLCB0eXBlbmFtZSBNUDMsIHR5
cGVuYW1lIFA0LCB0eXBlbmFtZSBNUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBNUDU+Ci12b2lk
IGNhbGxPbk1haW5UaHJlYWQoCi0gICAgdm9pZCAoKm1ldGhvZCkoTVAxLCBNUDIsIE1QMywgTVA0
LCBNUDUpLAotICAgIGNvbnN0IFAxJiBwYXJhbWV0ZXIxLCBjb25zdCBQMiYgcGFyYW1ldGVyMiwg
Y29uc3QgUDMmIHBhcmFtZXRlcjMsIGNvbnN0IFA0JiBwYXJhbWV0ZXI0LCBjb25zdCBQNSYgcGFy
YW1ldGVyNSkKLXsKLSAgICBXVEY6OmNhbGxPbk1haW5UaHJlYWQoZXhlY3V0ZU1haW5UaHJlYWRU
YXNrLCBNYWluVGhyZWFkVGFzazU8dHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+OjpUeXBl
LCBNUDEsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAyPjo6VHlwZSwgTVAyLCB0eXBlbmFt
ZSBDcm9zc1RocmVhZENvcGllcjxQMz46OlR5cGUsIE1QMywKLSAgICAgICAgdHlwZW5hbWUgQ3Jv
c3NUaHJlYWRDb3BpZXI8UDQ+OjpUeXBlLCBNUDQsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVy
PFA1Pjo6VHlwZSwgTVA1Pjo6Y3JlYXRlKAotICAgICAgICAgICAgbWV0aG9kLAotICAgICAgICAg
ICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENv
cGllcjxQMj46OmNvcHkocGFyYW1ldGVyMiksCi0gICAgICAgICAgICBDcm9zc1RocmVhZENvcGll
cjxQMz46OmNvcHkocGFyYW1ldGVyMyksIENyb3NzVGhyZWFkQ29waWVyPFA0Pjo6Y29weShwYXJh
bWV0ZXI0KSwKLSAgICAgICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFA1Pjo6Y29weShwYXJhbWV0
ZXI1KSkubGVha1B0cigpKTsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1Q
MSwgdHlwZW5hbWUgUDIsIHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMywg
dHlwZW5hbWUgUDQsIHR5cGVuYW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1QNSwgdHlw
ZW5hbWUgUDYsIHR5cGVuYW1lIE1QNj4KLXZvaWQgY2FsbE9uTWFpblRocmVhZCgKLSAgICB2b2lk
ICgqbWV0aG9kKShNUDEsIE1QMiwgTVAzLCBNUDQsIE1QNSwgTVA2KSwKLSAgICBjb25zdCBQMSYg
cGFyYW1ldGVyMSwgY29uc3QgUDImIHBhcmFtZXRlcjIsIGNvbnN0IFAzJiBwYXJhbWV0ZXIzLCBj
b25zdCBQNCYgcGFyYW1ldGVyNCwgY29uc3QgUDUmIHBhcmFtZXRlcjUsIGNvbnN0IFA2JiBwYXJh
bWV0ZXI2KQotewotICAgIFdURjo6Y2FsbE9uTWFpblRocmVhZChleGVjdXRlTWFpblRocmVhZFRh
c2ssIE1haW5UaHJlYWRUYXNrNjx0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQMT46OlR5cGUs
IE1QMSwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+OjpUeXBlLCBNUDIsIHR5cGVuYW1l
IENyb3NzVGhyZWFkQ29waWVyPFAzPjo6VHlwZSwgTVAzLAotICAgICAgICB0eXBlbmFtZSBDcm9z
c1RocmVhZENvcGllcjxQND46OlR5cGUsIE1QNCwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8
UDU+OjpUeXBlLCBNUDUsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFA2Pjo6VHlwZSwgTVA2
Pjo6Y3JlYXRlKAotICAgICAgICAgICAgbWV0aG9kLAotICAgICAgICAgICAgQ3Jvc3NUaHJlYWRD
b3BpZXI8UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVhZENvcGllcjxQMj46OmNvcHko
cGFyYW1ldGVyMiksCi0gICAgICAgICAgICBDcm9zc1RocmVhZENvcGllcjxQMz46OmNvcHkocGFy
YW1ldGVyMyksIENyb3NzVGhyZWFkQ29waWVyPFA0Pjo6Y29weShwYXJhbWV0ZXI0KSwKLSAgICAg
ICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFA1Pjo6Y29weShwYXJhbWV0ZXI1KSwgQ3Jvc3NUaHJl
YWRDb3BpZXI8UDY+Ojpjb3B5KHBhcmFtZXRlcjYpKS5sZWFrUHRyKCkpOwotfQotCi10ZW1wbGF0
ZTx0eXBlbmFtZSBQMSwgdHlwZW5hbWUgTVAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgTVAyLCB0
eXBlbmFtZSBQMywgdHlwZW5hbWUgTVAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgTVA0LCB0eXBl
bmFtZSBQNSwgdHlwZW5hbWUgTVA1LCB0eXBlbmFtZSBQNiwgdHlwZW5hbWUgTVA2LCB0eXBlbmFt
ZSBQNywgdHlwZW5hbWUgTVA3Pgotdm9pZCBjYWxsT25NYWluVGhyZWFkKAotICAgIHZvaWQgKCpt
ZXRob2QpKE1QMSwgTVAyLCBNUDMsIE1QNCwgTVA1LCBNUDYsIE1QNyksCi0gICAgY29uc3QgUDEm
IHBhcmFtZXRlcjEsIGNvbnN0IFAyJiBwYXJhbWV0ZXIyLCBjb25zdCBQMyYgcGFyYW1ldGVyMywg
Y29uc3QgUDQmIHBhcmFtZXRlcjQsIGNvbnN0IFA1JiBwYXJhbWV0ZXI1LCBjb25zdCBQNiYgcGFy
YW1ldGVyNiwgY29uc3QgUDcmIHBhcmFtZXRlcjcpCi17Ci0gICAgV1RGOjpjYWxsT25NYWluVGhy
ZWFkKGV4ZWN1dGVNYWluVGhyZWFkVGFzaywgTWFpblRocmVhZFRhc2s3PHR5cGVuYW1lIENyb3Nz
VGhyZWFkQ29waWVyPFAxPjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1RocmVhZENvcGllcjxQ
Mj46OlR5cGUsIE1QMiwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+OjpUeXBlLCBNUDMs
Ci0gICAgICAgIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFA0Pjo6VHlwZSwgTVA0LCB0eXBl
bmFtZSBDcm9zc1RocmVhZENvcGllcjxQNT46OlR5cGUsIE1QNSwgdHlwZW5hbWUgQ3Jvc3NUaHJl
YWRDb3BpZXI8UDY+OjpUeXBlLCBNUDYsCi0gICAgICAgIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29w
aWVyPFA3Pjo6VHlwZSwgTVA3Pjo6Y3JlYXRlKAotICAgICAgICAgICAgbWV0aG9kLAotICAgICAg
ICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDE+Ojpjb3B5KHBhcmFtZXRlcjEpLCBDcm9zc1RocmVh
ZENvcGllcjxQMj46OmNvcHkocGFyYW1ldGVyMiksCi0gICAgICAgICAgICBDcm9zc1RocmVhZENv
cGllcjxQMz46OmNvcHkocGFyYW1ldGVyMyksIENyb3NzVGhyZWFkQ29waWVyPFA0Pjo6Y29weShw
YXJhbWV0ZXI0KSwKLSAgICAgICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFA1Pjo6Y29weShwYXJh
bWV0ZXI1KSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDY+Ojpjb3B5KHBhcmFtZXRlcjYpLAotICAgICAg
ICAgICAgQ3Jvc3NUaHJlYWRDb3BpZXI8UDc+Ojpjb3B5KHBhcmFtZXRlcjcpKS5sZWFrUHRyKCkp
OwotfQotCi10ZW1wbGF0ZTx0eXBlbmFtZSBQMSwgdHlwZW5hbWUgTVAxLCB0eXBlbmFtZSBQMiwg
dHlwZW5hbWUgTVAyLCB0eXBlbmFtZSBQMywgdHlwZW5hbWUgTVAzLCB0eXBlbmFtZSBQNCwgdHlw
ZW5hbWUgTVA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgTVA1LCB0eXBlbmFtZSBQNiwgdHlwZW5h
bWUgTVA2LCB0eXBlbmFtZSBQNywgdHlwZW5hbWUgTVA3LCB0eXBlbmFtZSBQOCwgdHlwZW5hbWUg
TVA4Pgotdm9pZCBjYWxsT25NYWluVGhyZWFkKAotICAgIHZvaWQgKCptZXRob2QpKE1QMSwgTVAy
LCBNUDMsIE1QNCwgTVA1LCBNUDYsIE1QNywgTVA4KSwKLSAgICBjb25zdCBQMSYgcGFyYW1ldGVy
MSwgY29uc3QgUDImIHBhcmFtZXRlcjIsIGNvbnN0IFAzJiBwYXJhbWV0ZXIzLCBjb25zdCBQNCYg
cGFyYW1ldGVyNCwgY29uc3QgUDUmIHBhcmFtZXRlcjUsIGNvbnN0IFA2JiBwYXJhbWV0ZXI2LCBj
b25zdCBQNyYgcGFyYW1ldGVyNywgY29uc3QgUDgmIHBhcmFtZXRlcjgpCi17Ci0gICAgV1RGOjpj
YWxsT25NYWluVGhyZWFkKGV4ZWN1dGVNYWluVGhyZWFkVGFzaywgTWFpblRocmVhZFRhc2s4PHR5
cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFAxPjo6VHlwZSwgTVAxLCB0eXBlbmFtZSBDcm9zc1Ro
cmVhZENvcGllcjxQMj46OlR5cGUsIE1QMiwgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDM+
OjpUeXBlLCBNUDMsCi0gICAgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDQ+OjpUeXBlLCBN
UDQsIHR5cGVuYW1lIENyb3NzVGhyZWFkQ29waWVyPFA1Pjo6VHlwZSwgTVA1LCB0eXBlbmFtZSBD
cm9zc1RocmVhZENvcGllcjxQNj46OlR5cGUsIE1QNiwKLSAgICB0eXBlbmFtZSBDcm9zc1RocmVh
ZENvcGllcjxQNz46OlR5cGUsIE1QNywgdHlwZW5hbWUgQ3Jvc3NUaHJlYWRDb3BpZXI8UDg+OjpU
eXBlLCBNUDg+OjpjcmVhdGUoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWV0aG9kLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFAxPjo6Y29weShwYXJh
bWV0ZXIxKSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDI+Ojpjb3B5KHBhcmFtZXRlcjIpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyb3NzVGhy
ZWFkQ29waWVyPFAzPjo6Y29weShwYXJhbWV0ZXIzKSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDQ+Ojpj
b3B5KHBhcmFtZXRlcjQpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIENyb3NzVGhyZWFkQ29waWVyPFA1Pjo6Y29weShwYXJhbWV0ZXI1KSwg
Q3Jvc3NUaHJlYWRDb3BpZXI8UDY+Ojpjb3B5KHBhcmFtZXRlcjYpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyb3NzVGhyZWFkQ29waWVy
PFA3Pjo6Y29weShwYXJhbWV0ZXI3KSwgQ3Jvc3NUaHJlYWRDb3BpZXI8UDg+Ojpjb3B5KHBhcmFt
ZXRlcjgpKS5sZWFrUHRyKCkpOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>