<?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>151708</bug_id>
          
          <creation_ts>2015-12-01 10:59:17 -0800</creation_ts>
          <short_desc>Need completionHandler-based WebKit C SPI for alert, confirm, and prompt</short_desc>
          <delta_ts>2015-12-03 12:45:43 -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="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1145280</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-12-01 10:59:17 -0800</bug_when>
    <thetext>Need completionHandler-based WebKit C SPI for alert, confirm, and prompt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145286</commentid>
    <comment_count>1</comment_count>
      <attachid>266367</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-12-01 11:03:51 -0800</bug_when>
    <thetext>Created attachment 266367
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145302</commentid>
    <comment_count>2</comment_count>
      <attachid>266371</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-12-01 11:35:10 -0800</bug_when>
    <thetext>Created attachment 266371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1145312</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-01 11:40:10 -0800</bug_when>
    <thetext>Attachment 266371 did not pass style-queue:


ERROR: Tools/WebKitTestRunner/TestController.cpp:280:  One space before end of line comments  [whitespace/comments] [5]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1510:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1525:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1530:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1535:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1550:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1555:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1560:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1575:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1580:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 10 in 7 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>1145370</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-01 13:41:20 -0800</bug_when>
    <thetext>Attachment 266371 did not pass style-queue:


ERROR: Tools/WebKitTestRunner/TestController.cpp:280:  One space before end of line comments  [whitespace/comments] [5]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1510:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1525:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1530:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1535:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1550:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1555:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1560:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1575:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/API/C/WKPage.cpp:1580:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 10 in 7 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>1145392</commentid>
    <comment_count>5</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-12-01 14:10:07 -0800</bug_when>
    <thetext>Committed revision 192911</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1146016</commentid>
    <comment_count>6</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-12-03 12:45:43 -0800</bug_when>
    <thetext>Added missing function definitions in 193367.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266367</attachid>
            <date>2015-12-01 11:03:51 -0800</date>
            <delta_ts>2015-12-01 11:35:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151708-20151201110329.patch</filename>
            <type>text/plain</type>
            <size>22071</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE1LTEyLTAxICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTmVlZCBjb21wbGV0aW9uSGFuZGxlci1i
YXNlZCBXZWJLaXQgQyBTUEkgZm9yIGFsZXJ0LCBjb25maXJtLCBhbmQgcHJvbXB0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8yMzMyMDg2Mz4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTcwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBsaXN0ZW5lciBiYXNlZCB2ZXJzaW9ucyBvZiBhbGVydCwg
Y29uZmlybSBhbmQgcHJvbXB0LgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoK
KyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJ1bkphdmFTY3JpcHRBbGVydFJlc3Vs
dExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0QWxlcnRS
ZXN1bHRMaXN0ZW5lcjo6flJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYktpdDo6UnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXI6OmNhbGwpOgorICAg
ICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lcjo6UnVuSmF2YVNj
cmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0
Q29uZmlybVJlc3VsdExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZh
U2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyOjp+UnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRM
aXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlz
dGVuZXI6OmNhbGwpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3Vs
dExpc3RlbmVyOjpSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyKToKKyAgICAgICAg
KFdlYktpdDo6UnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6On5SdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2Ny
aXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6OmNhbGwpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6OlJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0
ZW5lcik6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oOgorCiAyMDE1LTEyLTAxICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxOTI4
MzQpOiBbR1RLXSBUZXN0IC93ZWJraXQyL1dlYktpdFdlYlZpZXcvZWRpdG9yLXN0YXRlL3R5cGlu
Zy1hdHRyaWJ1dGVzIHRpbWVzIG91dCBhZnRlciByMTkyODM0CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvQVBJT2JqZWN0LmgJKHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsxMzgsOSBA
QCBwdWJsaWM6CiAgICAgICAgIFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiwKICAgICAgICAgUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLAogICAgICAgICBQcmVmZXJlbmNlcywKKyAgICAgICAgUnVuSmF2
YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIsCisgICAgICAgIFJ1bkphdmFTY3JpcHRDb25maXJt
UmVzdWx0TGlzdGVuZXIsCisgICAgICAgIFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5l
ciwKICAgICAgICAgU2Vzc2lvbiwKICAgICAgICAgVGV4dENoZWNrZXIsCiAgICAgICAgIFVzZXJD
b250ZW50Q29udHJvbGxlciwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgJ
KHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw5IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0
IE9wYXF1ZVdLUGFnZUdyb3VwKiAKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLUGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZjsKIHR5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZVdLUHJlZmVyZW5jZXMqIFdLUHJlZmVyZW5jZXNSZWY7CiB0eXBlZGVm
IGNvbnN0IHN0cnVjdCBPcGFxdWVXS1Byb3RlY3Rpb25TcGFjZSogV0tQcm90ZWN0aW9uU3BhY2VS
ZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRS
ZXN1bHRMaXN0ZW5lciogV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXJSZWY7
Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybVJl
c3VsdExpc3RlbmVyKiBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyUmVm
OwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdFJl
c3VsdExpc3RlbmVyKiBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXJSZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1RleHRDaGVja2VyKiBXS1RleHRDaGVja2Vy
UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tTZXNzaW9uKiBXS1Nlc3Npb25SZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1Nlc3Npb25TdGF0ZSogV0tTZXNzaW9uU3Rh
dGVSZWY7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAko
cmV2aXNpb24gMTkyODkyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MDMsNiArMTUwMyw4OSBAQCBzdGF0aWMgdm9pZCBm
aXhVcEJvdGNoZWRQYWdlVUlDbGllbnQoV0tQCiB9CiAjZW5kaWYKIAorbmFtZXNwYWNlIFdlYktp
dCB7CisKK2NsYXNzIFJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyIDogcHVibGljIEFQ
STo6T2JqZWN0SW1wbDxBUEk6Ok9iamVjdDo6VHlwZTo6UnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0
TGlzdGVuZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSdW5KYXZhU2NyaXB0
QWxlcnRSZXN1bHRMaXN0ZW5lcj4gY3JlYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgUnVuSmF2
YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkp
OworICAgIH0KKworICAgIHZpcnR1YWwgflJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVy
KCkKKyAgICB7CisgICAgfQorCisgICAgdm9pZCBjYWxsKCkKKyAgICB7CisgICAgICAgIG1fY29t
cGxldGlvbkhhbmRsZXIoKTsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUnVuSmF2
YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIoc3RkOjpmdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQorICAgICAgICA6IG1fY29tcGxldGlvbkhhbmRsZXIoV1RGOjptb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSkKKyAgICB7CisgICAgfQorICAgIAorICAgIHN0ZDo6ZnVuY3Rpb248
dm9pZCAoKT4gbV9jb21wbGV0aW9uSGFuZGxlcjsKK307CisKK2NsYXNzIFJ1bkphdmFTY3JpcHRD
b25maXJtUmVzdWx0TGlzdGVuZXIgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0
OjpUeXBlOjpSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyPiB7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8UnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRMaXN0ZW5lcj4g
Y3JlYXRlKHN0ZDo6ZnVuY3Rpb248dm9pZCAoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFJ1bkphdmFTY3JpcHRDb25maXJtUmVz
dWx0TGlzdGVuZXIoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkpOworICAgIH0KKworICAg
IHZpcnR1YWwgflJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXIoKQorICAgIHsKKyAg
ICB9CisKKyAgICB2b2lkIGNhbGwoYm9vbCByZXN1bHQpCisgICAgeworICAgICAgICBtX2NvbXBs
ZXRpb25IYW5kbGVyKHJlc3VsdCk7CisgICAgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFJ1
bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXIoc3RkOjpmdW5jdGlvbjx2b2lkIChib29s
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5kbGVyKFdU
Rjo6bW92ZShjb21wbGV0aW9uSGFuZGxlcikpCisgICAgeworICAgIH0KKworICAgIHN0ZDo6ZnVu
Y3Rpb248dm9pZCAoYm9vbCk+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9OworCitjbGFzcyBSdW5K
YXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXIgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQ
STo6T2JqZWN0OjpUeXBlOjpSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlz
dGVuZXI+IGNyZWF0ZShzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXIoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkp
OworICAgIH0KKworICAgIHZpcnR1YWwgflJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5l
cigpCisgICAgeworICAgIH0KKworICAgIHZvaWQgY2FsbChjb25zdCBTdHJpbmcmIHJlc3VsdCkK
KyAgICB7CisgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKKyAgICB9CisKK3By
aXZhdGU6CisgICAgZXhwbGljaXQgUnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyKHN0
ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCisg
ICAgICAgIDogbV9jb21wbGV0aW9uSGFuZGxlcihXVEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KQorICAgIHsKKyAgICB9CisKKyAgICBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IFN0cmluZyYp
PiBtX2NvbXBsZXRpb25IYW5kbGVyOworfTsKKworV0tfQUREX0FQSV9NQVBQSU5HKFdLUGFnZVJ1
bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyUmVmLCBSdW5KYXZhU2NyaXB0QWxlcnRSZXN1
bHRMaXN0ZW5lcikKK1dLX0FERF9BUElfTUFQUElORyhXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmly
bVJlc3VsdExpc3RlbmVyUmVmLCBSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyKQor
V0tfQUREX0FQSV9NQVBQSU5HKFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5l
clJlZiwgUnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyKQorCit9CisKIHZvaWQgV0tQ
YWdlU2V0UGFnZVVJQ2xpZW50KFdLUGFnZVJlZiBwYWdlUmVmLCBjb25zdCBXS1BhZ2VVSUNsaWVu
dEJhc2UqIHdrQ2xpZW50KQogewogI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJT
SU9OX01JTl9SRVFVSVJFRCA8PSAxMDEwMDAKQEAgLTE2MTMsNTcgKzE2OTYsODggQEAgdm9pZCBX
S1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVmIHBhZwogCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCBydW5KYXZhU2NyaXB0QWxlcnQoV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHNl
Y3VyaXR5T3JpZ2luRGF0YSwgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBjb21wbGV0aW9uSGFuZGxl
cikgb3ZlcnJpZGUKICAgICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5ydW5KYXZh
U2NyaXB0QWxlcnQgJiYgIW1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwKSB7Ci0gICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAg
ICAgICAgIGlmIChtX2NsaWVudC5ydW5KYXZhU2NyaXB0QWxlcnQpIHsKKyAgICAgICAgICAgICAg
ICBSZWZQdHI8UnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXI+IGxpc3RlbmVyID0gUnVu
SmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXI6OmNyZWF0ZShXVEY6Om1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKKyAgICAgICAgICAgICAgICBSZWZQdHI8QVBJOjpTZWN1cml0eU9yaWdpbj4g
c2VjdXJpdHlPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoc2VjdXJpdHlPcmln
aW5EYXRhLnByb3RvY29sLCBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCwgc2VjdXJpdHlPcmlnaW5E
YXRhLnBvcnQpOworICAgICAgICAgICAgICAgIG1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydCh0
b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShmcmFtZSksIHRvQVBJKHNl
Y3VyaXR5T3JpZ2luLmdldCgpKSwgdG9BUEkobGlzdGVuZXIuZ2V0KCkpLCBtX2NsaWVudC5iYXNl
LmNsaWVudEluZm8pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydCkgeworICAgICAgICAg
ICAgaWYgKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1
KSB7CiAgICAgICAgICAgICAgICAgUmVmUHRyPEFQSTo6U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5
T3JpZ2luID0gQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3JpZ2luRGF0YS5w
cm90b2NvbCwgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIHNlY3VyaXR5T3JpZ2luRGF0YS5wb3J0
KTsKLSAgICAgICAgICAgICAgICBtX2NsaWVudC5ydW5KYXZhU2NyaXB0QWxlcnQodG9BUEkocGFn
ZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShzZWN1cml0eU9y
aWdpbi5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7Ci0gICAgICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgICAgICBtX2NsaWVudC5ydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWNSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShm
cmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKTsKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KG1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKSB7CiAg
ICAgICAgICAgICAgICAgbV9jbGllbnQucnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjAodG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZnJhbWUp
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAKICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKCk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0
dWFsIHZvaWQgcnVuSmF2YVNjcmlwdENvbmZpcm0oV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBT
dHJpbmcmIG1lc3NhZ2UsIFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBTZWN1cml0eU9yaWdp
bkRhdGEmIHNlY3VyaXR5T3JpZ2luRGF0YSwgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gY29t
cGxldGlvbkhhbmRsZXIpIG92ZXJyaWRlCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghbV9j
bGllbnQucnVuSmF2YVNjcmlwdENvbmZpcm0gJiYgIW1fY2xpZW50LnJ1bkphdmFTY3JpcHRDb25m
aXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApIHsKLSAgICAgICAgICAgICAgICBjb21wbGV0aW9u
SGFuZGxlcihmYWxzZSk7CisgICAgICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlwdENv
bmZpcm0pIHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8UnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1
bHRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVy
OjpjcmVhdGUoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAgICAgICAgICAgICAg
UmVmUHRyPEFQSTo6U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luID0gQVBJOjpTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3JpZ2luRGF0YS5wcm90b2NvbCwgc2VjdXJpdHlPcmln
aW5EYXRhLmhvc3QsIHNlY3VyaXR5T3JpZ2luRGF0YS5wb3J0KTsKKyAgICAgICAgICAgICAgICBt
X2NsaWVudC5ydW5KYXZhU2NyaXB0Q29uZmlybSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5p
bXBsKCkpLCB0b0FQSShmcmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgdG9BUEko
bGlzdGVuZXIuZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgYm9vbCByZXN1bHQ7Ci0g
ICAgICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlwdENvbmZpcm0pIHsKKyAgICAgICAg
ICAgIGlmIChtX2NsaWVudC5ydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0
aFY1KSB7CiAgICAgICAgICAgICAgICAgUmVmUHRyPEFQSTo6U2VjdXJpdHlPcmlnaW4+IHNlY3Vy
aXR5T3JpZ2luID0gQVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3JpZ2luRGF0
YS5wcm90b2NvbCwgc2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIHNlY3VyaXR5T3JpZ2luRGF0YS5w
b3J0KTsKLSAgICAgICAgICAgICAgICByZXN1bHQgPSBtX2NsaWVudC5ydW5KYXZhU2NyaXB0Q29u
ZmlybSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShmcmFtZSksIHRv
QVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKLSAg
ICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIHJlc3VsdCA9IG1fY2xpZW50LnJ1bkph
dmFTY3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAodG9BUEkocGFnZSksIHRvQVBJ
KG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OworICAgICAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gbV9jbGllbnQucnVuSmF2YVNjcmlwdENv
bmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWNSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5p
bXBsKCkpLCB0b0FQSShmcmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGll
bnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihyZXN1bHQpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFT
Y3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApIHsKKyAgICAgICAgICAgICAgICBi
b29sIHJlc3VsdCA9IG1fY2xpZW50LnJ1bkphdmFTY3JpcHRDb25maXJtX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjAodG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZnJhbWUp
LCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogCi0gICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihyZXN1bHQpOworICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisg
ICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiAgICAgICAgIH0KIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuSmF2YVNjcmlwdFByb21wdChXZWJQYWdlUHJveHkqIHBhZ2UsIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBkZWZhdWx0VmFsdWUsIFdlYkZyYW1l
UHJveHkqIGZyYW1lLCBjb25zdCBTZWN1cml0eU9yaWdpbkRhdGEmIHNlY3VyaXR5T3JpZ2luRGF0
YSwgc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBTdHJpbmcmKT4gY29tcGxldGlvbkhhbmRsZXIp
IG92ZXJyaWRlCiAgICAgICAgIHsKLSAgICAgICAgICAgIGlmICghbV9jbGllbnQucnVuSmF2YVNj
cmlwdFByb21wdCAmJiAhbV9jbGllbnQucnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9y
VXNlV2l0aFYwKSB7Ci0gICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoU3RyaW5nKCkp
OworICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRQcm9tcHQpIHsKKyAgICAg
ICAgICAgICAgICBSZWZQdHI8UnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyPiBsaXN0
ZW5lciA9IFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5lcjo6Y3JlYXRlKFdURjo6bW92
ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICAgICAgICAgIFJlZlB0cjxBUEk6OlNlY3Vy
aXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiA9IEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShz
ZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2wsIHNlY3VyaXR5T3JpZ2luRGF0YS5ob3N0LCBzZWN1
cml0eU9yaWdpbkRhdGEucG9ydCk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQucnVuSmF2YVNj
cmlwdFByb21wdCh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZWZh
dWx0VmFsdWUuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShzZWN1cml0eU9yaWdpbi5nZXQo
KSksIHRvQVBJKGxpc3RlbmVyLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKICAg
ICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIFJlZlB0
cjxBUEk6OlN0cmluZz4gc3RyaW5nOwotICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFT
Y3JpcHRQcm9tcHQpIHsKKyAgICAgICAgICAgIGlmIChtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJv
bXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUpIHsKICAgICAgICAgICAgICAgICBSZWZQdHI8QVBJ
OjpTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpj
cmVhdGUoc2VjdXJpdHlPcmlnaW5EYXRhLnByb3RvY29sLCBzZWN1cml0eU9yaWdpbkRhdGEuaG9z
dCwgc2VjdXJpdHlPcmlnaW5EYXRhLnBvcnQpOwotICAgICAgICAgICAgICAgIHN0cmluZyA9IGFk
b3B0UmVmKHRvSW1wbChtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJvbXB0KHRvQVBJKHBhZ2UpLCB0
b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlZmF1bHRWYWx1ZS5pbXBsKCkpLCB0b0FQSShm
cmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJ
bmZvKSkpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgc3RyaW5nID0gYWRv
cHRSZWYodG9JbXBsKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVz
ZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShkZWZhdWx0
VmFsdWUuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7
Ci0KLSAgICAgICAgICAgIGlmICghc3RyaW5nKSB7Ci0gICAgICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoU3RyaW5nKCkpOworICAgICAgICAgICAgICAgIFJlZlB0cjxBUEk6OlN0cmluZz4g
c3RyaW5nID0gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRQcm9tcHRfZGVw
cmVjYXRlZEZvclVzZVdpdGhWNSh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0
b0FQSShkZWZhdWx0VmFsdWUuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCB0b0FQSShzZWN1cml0eU9y
aWdpbi5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsKKyAgICAgICAgICAgICAg
ICAKKyAgICAgICAgICAgICAgICBpZiAoc3RyaW5nKQorICAgICAgICAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihzdHJpbmctPnN0cmluZygpKTsKKyAgICAgICAgICAgICAgICBlbHNlCisg
ICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFN0cmluZygpKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmIChtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAp
IHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8QVBJOjpTdHJpbmc+IHN0cmluZyA9IGFkb3B0UmVm
KHRvSW1wbChtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRo
VjAodG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEkoZGVmYXVsdFZhbHVl
LmltcGwoKSksIHRvQVBJKGZyYW1lKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKSkpOworICAg
ICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChzdHJpbmcpCisgICAgICAgICAgICAg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0cmluZy0+c3RyaW5nKCkpOworICAgICAgICAgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoU3RyaW5nKCkp
OwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoc3RyaW5nLT5zdHJpbmcoKSk7CisgICAgICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihTdHJpbmcoKSk7CiAgICAgICAgIH0KIAogICAgICAgICB2aXJ0dWFsIHZvaWQg
c2V0U3RhdHVzVGV4dChXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgdGV4dCkgb3Zl
cnJpZGUKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VV
SUNsaWVudC5oCShyZXZpc2lvbiAxOTI4OTIpCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlVUlDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTEgKzQ4LDIxIEBA
IGVudW0gewogfTsKIHR5cGVkZWYgdWludDMyX3QgV0tQbHVnaW5VbmF2YWlsYWJpbGl0eVJlYXNv
bjsKIAorCitXS19FWFBPUlQgV0tUeXBlSUQgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0
TGlzdGVuZXJHZXRUeXBlSUQoKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRB
bGVydFJlc3VsdExpc3RlbmVyQ2FsbChXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0
ZW5lclJlZiBsaXN0ZW5lcik7CisKK1dLX0VYUE9SVCBXS1R5cGVJRCBXS1BhZ2VSdW5KYXZhU2Ny
aXB0Q29uZmlybVJlc3VsdExpc3RlbmVyR2V0VHlwZUlEKCk7CitXS19FWFBPUlQgdm9pZCBXS1Bh
Z2VSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyQ2FsbChXS1BhZ2VSdW5KYXZhU2Ny
aXB0Q29uZmlybVJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyLCBib29sIHJlc3VsdCk7CisKK1dL
X0VYUE9SVCBXS1R5cGVJRCBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXJH
ZXRUeXBlSUQoKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1
bHRMaXN0ZW5lckNhbGwoV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyUmVm
IGxpc3RlbmVyLCBXS1N0cmluZ1JlZiByZXN1bHQpOworCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VV
SUNsaWVudENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7
CiB0eXBlZGVmIFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIFdLUGFnZUNvbmZpZ3VyYXRpb25SZWYgY29uZmlndXJhdGlvbiwgV0tOYXZpZ2F0
aW9uQWN0aW9uUmVmIG5hdmlnYXRpb25BY3Rpb24sIFdLV2luZG93RmVhdHVyZXNSZWYgd2luZG93
RmVhdHVyZXMsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiB2b2lkICgqV0tQYWdl
UnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBh
bGVydFRleHQsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlP
cmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBib29sICgqV0tQYWdlUnVu
SmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1l
c3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlPcmln
aW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwotdHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLUGFn
ZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlZmF1bHRWYWx1ZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tT
ZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjaykoV0tQYWdl
UmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwgV0tTZWN1
cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVz
dWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRl
ZiB2b2lkICgqV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjaykoV0tQYWdlUmVmIHBh
Z2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmln
aW5SZWYgc2VjdXJpdHlPcmlnaW4sIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlz
dGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiB2b2lk
ICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tT
dHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1lUmVmIGZy
YW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2luLCBXS1BhZ2VSdW5KYXZhU2Ny
aXB0UHJvbXB0UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwogdHlwZWRlZiB2b2lkICgqV0tQYWdlVGFrZUZvY3VzQ2FsbGJhY2spKFdLUGFnZVJlZiBw
YWdlLCBXS0ZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VGb2N1c0NhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VVbmZvY3VzQ2FsbGJh
Y2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKQEAgLTk5LDYgKzEw
OSwxMCBAQCB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDCiB0eXBlZGVm
IGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JV
c2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS0ZyYW1lUmVm
IGZyYW1lLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgV0tTdHJpbmdSZWYgKCpX
S1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCko
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG1lc3NhZ2UsIFdLU3RyaW5nUmVmIGRlZmF1bHRW
YWx1ZSwgV0tGcmFtZVJlZiBmcmFtZSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVm
IFdLUGFnZVJlZiAoKldLUGFnZUNyZWF0ZU5ld1BhZ2VDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFYxKShXS1BhZ2VSZWYgcGFnZSwgV0tVUkxSZXF1ZXN0UmVmIHVybFJlcXVlc3QsIFdLRGlj
dGlvbmFyeVJlZiBmZWF0dXJlcywgV0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnMsIFdLRXZlbnRN
b3VzZUJ1dHRvbiBtb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVm
IHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNl
V2l0aFY1KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgYWxlcnRUZXh0LCBXS0ZyYW1lUmVm
IGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2luLCBjb25zdCB2b2lkICpj
bGllbnRJbmZvKTsKK3R5cGVkZWYgYm9vbCAoKldLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtQ2Fs
bGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSkoV0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVm
IG1lc3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlP
cmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBXS1N0cmluZ1JlZiAoKldL
UGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1KShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZh
bHVlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2lu
LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKKwogCiB0eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNs
aWVudEJhc2UgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjsKQEAgLTQ0OCw5ICs0NjIsOSBAQCB0
eXBlZGVmIHN0cnVjdCBXS1BhZ2VVSUNsaWVudFY1IHsKICAgICAvLyBWZXJzaW9uIDUuCiAgICAg
V0tQYWdlRGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAg
ICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdDsKICAg
ICBXS1BhZ2VEaWRDbGlja0F1dG9GaWxsQnV0dG9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGRpZENsaWNrQXV0b0ZpbGxCdXR0b247Ci0gICAgV0tQYWdlUnVuSmF2YVNj
cmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5K
YXZhU2NyaXB0QWxlcnQ7Ci0gICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKLSAg
ICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlw
dEFsZXJ0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgICBydW5KYXZh
U2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXBy
ZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKKyAgICBX
S1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAg
ICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CiAgICAgV0tQYWdlTWVkaWFTZXNzaW9uTWV0
YWRhdGFEaWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNlc3Np
b25NZXRhZGF0YURpZENoYW5nZTsKIH0gV0tQYWdlVUlDbGllbnRWNTsKIApAQCAtNTIxLDE0ICs1
MzUsMTYgQEAgdHlwZWRlZiBzdHJ1Y3QgV0tQYWdlVUlDbGllbnRWNiB7CiAgICAgLy8gVmVyc2lv
biA1LgogICAgIFdLUGFnZURlY2lkZVBvbGljeUZvclVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0
Q2FsbGJhY2sgICAgICAgICAgICAgZGVjaWRlUG9saWN5Rm9yVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3Q7CiAgICAgV0tQYWdlRGlkQ2xpY2tBdXRvRmlsbEJ1dHRvbkNhbGxiYWNrICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBkaWRDbGlja0F1dG9GaWxsQnV0dG9uOwotICAgIFdLUGFn
ZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OwotICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJt
Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdENv
bmZpcm07Ci0gICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0OworICAgIFdLUGFnZVJ1
bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAg
ICAgcnVuSmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdl
UnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAg
ICAgICBydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OworICAgIFdL
UGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAg
ICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1OwogICAg
IFdLUGFnZU1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlQ2FsbGJhY2sgICAgICAgICAgICAg
ICAgICAgICAgICAgbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2U7CiAKICAgICAvLyBWZXJz
aW9uIDYuCiAgICAgV0tQYWdlQ3JlYXRlTmV3UGFnZUNhbGxiYWNrICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVOZXdQYWdlOwotCisgICAgV0tQYWdlUnVuSmF2
YVNjcmlwdEFsZXJ0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
dW5KYXZhU2NyaXB0QWxlcnQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFj
ayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsK
KyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CiB9IFdLUGFnZVVJQ2xpZW50VjY7
CiAKICNpZmRlZiBfX2NwbHVzcGx1cwpJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTkyODkyKQorKysgVG9vbHMvQ2hhbmdlTG9n
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMTItMDEgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KKworICAgICAgICBOZWVkIGNvbXBsZXRpb25IYW5kbGVyLWJhc2Vk
IFdlYktpdCBDIFNQSSBmb3IgYWxlcnQsIGNvbmZpcm0sIGFuZCBwcm9tcHQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzIzMzIwODYzPgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTUxNzA4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnZSk6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOgorICAgICAgICBV
cGRhdGUgZm9yIG5ldyBXS1BhZ2VVSUNsaWVudC4KKwogMjAxNS0xMS0zMCAgQWxleCBDaHJpc3Rl
bnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgUHJvY2Vzc01v
ZGVsIGFsd2F5cyBNdWx0aXBsZVNlY29uZGFyeVByb2Nlc3NlcwpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDE5Mjg5MikKKysrIFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
NzUsNiArMjc1LDkgQEAgV0tQYWdlUmVmIFRlc3RDb250cm9sbGVyOjpjcmVhdGVPdGhlclBhZwog
ICAgICAgICAwLCAvLyBydW5KYXZhU2NyaXB0UHJvbXB0CiAgICAgICAgIDAsIC8vIG1lZGlhU2Vz
c2lvbk1ldGFkYXRhRGlkQ2hhbmdlCiAgICAgICAgIGNyZWF0ZU90aGVyUGFnZSwKKyAgICAgICAg
MCwgLy8gcnVuSmF2YVNjcmlwdEFsZXJ0CisgICAgICAgIDAsIC8vIHJ1bkphdmFTY3JpcHRDb25m
aXJtCisgICAgICAgIDAgIC8vIHJ1bkphdmFTY3JpcHRQcm9tcHQKICAgICB9OwogICAgIFdLUGFn
ZVNldFBhZ2VVSUNsaWVudChuZXdQYWdlLCAmb3RoZXJQYWdlVUlDbGllbnQuYmFzZSk7CiAgICAg
CkBAIC01MzQsNiArNTM3LDkgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dp
dGhPcAogICAgICAgICAwLCAvLyBydW5KYXZhU2NyaXB0UHJvbXB0CiAgICAgICAgIDAsIC8vIG1l
ZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlCiAgICAgICAgIGNyZWF0ZU90aGVyUGFnZSwKKyAg
ICAgICAgMCwgLy8gcnVuSmF2YVNjcmlwdEFsZXJ0CisgICAgICAgIDAsIC8vIHJ1bkphdmFTY3Jp
cHRDb25maXJtCisgICAgICAgIDAsIC8vIHJ1bkphdmFTY3JpcHRQcm9tcHQKICAgICB9OwogICAg
IFdLUGFnZVNldFBhZ2VVSUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlVUlDbGll
bnQuYmFzZSk7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>266371</attachid>
            <date>2015-12-01 11:35:10 -0800</date>
            <delta_ts>2015-12-01 13:50:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-151708-20151201113448.patch</filename>
            <type>text/plain</type>
            <size>22955</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBACisyMDE1LTEyLTAxICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTmVlZCBjb21wbGV0aW9uSGFuZGxlci1i
YXNlZCBXZWJLaXQgQyBTUEkgZm9yIGFsZXJ0LCBjb25maXJtLCBhbmQgcHJvbXB0CisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS8yMzMyMDg2Mz4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE1MTcwOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZCBsaXN0ZW5lciBiYXNlZCB2ZXJzaW9ucyBvZiBhbGVydCwg
Y29uZmlybSBhbmQgcHJvbXB0LgorCisgICAgICAgICogU2hhcmVkL0FQSS9BUElPYmplY3QuaDoK
KyAgICAgICAgKiBTaGFyZWQvQVBJL2MvV0tCYXNlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJ1bkphdmFTY3JpcHRBbGVydFJlc3Vs
dExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0QWxlcnRS
ZXN1bHRMaXN0ZW5lcjo6flJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyKToKKyAgICAg
ICAgKFdlYktpdDo6UnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXI6OmNhbGwpOgorICAg
ICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lcjo6UnVuSmF2YVNj
cmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0
Q29uZmlybVJlc3VsdExpc3RlbmVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZh
U2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyOjp+UnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRM
aXN0ZW5lcik6CisgICAgICAgIChXZWJLaXQ6OlJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlz
dGVuZXI6OmNhbGwpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3Vs
dExpc3RlbmVyOjpSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyKToKKyAgICAgICAg
KFdlYktpdDo6UnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViS2l0OjpSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6On5SdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZhU2Ny
aXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6OmNhbGwpOgorICAgICAgICAoV2ViS2l0OjpSdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI6OlJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0
ZW5lcik6CisgICAgICAgIChXS1BhZ2VTZXRQYWdlVUlDbGllbnQpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oOgorCiAyMDE1LTEyLTAxICBDYXJsb3MgR2FyY2lh
IENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxOTI4
MzQpOiBbR1RLXSBUZXN0IC93ZWJraXQyL1dlYktpdFdlYlZpZXcvZWRpdG9yLXN0YXRlL3R5cGlu
Zy1hdHRyaWJ1dGVzIHRpbWVzIG91dCBhZnRlciByMTkyODM0CkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQVBJL0FQSU9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1No
YXJlZC9BUEkvQVBJT2JqZWN0LmgJKHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQy
L1NoYXJlZC9BUEkvQVBJT2JqZWN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzOCw2ICsxMzgsOSBA
QCBwdWJsaWM6CiAgICAgICAgIFByb2Nlc3NQb29sQ29uZmlndXJhdGlvbiwKICAgICAgICAgUGx1
Z2luU2l0ZURhdGFNYW5hZ2VyLAogICAgICAgICBQcmVmZXJlbmNlcywKKyAgICAgICAgUnVuSmF2
YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIsCisgICAgICAgIFJ1bkphdmFTY3JpcHRDb25maXJt
UmVzdWx0TGlzdGVuZXIsCisgICAgICAgIFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5l
ciwKICAgICAgICAgU2Vzc2lvbiwKICAgICAgICAgVGV4dENoZWNrZXIsCiAgICAgICAgIFVzZXJD
b250ZW50Q29udHJvbGxlciwKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jh
c2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmgJ
KHJldmlzaW9uIDE5Mjg5MikKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMTMxLDYgKzEzMSw5IEBAIHR5cGVkZWYgY29uc3Qgc3RydWN0
IE9wYXF1ZVdLUGFnZUdyb3VwKiAKIHR5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLUGx1Z2lu
U2l0ZURhdGFNYW5hZ2VyKiBXS1BsdWdpblNpdGVEYXRhTWFuYWdlclJlZjsKIHR5cGVkZWYgY29u
c3Qgc3RydWN0IE9wYXF1ZVdLUHJlZmVyZW5jZXMqIFdLUHJlZmVyZW5jZXNSZWY7CiB0eXBlZGVm
IGNvbnN0IHN0cnVjdCBPcGFxdWVXS1Byb3RlY3Rpb25TcGFjZSogV0tQcm90ZWN0aW9uU3BhY2VS
ZWY7Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRS
ZXN1bHRMaXN0ZW5lciogV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXJSZWY7
Cit0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybVJl
c3VsdExpc3RlbmVyKiBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyUmVm
OwordHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdFJl
c3VsdExpc3RlbmVyKiBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXJSZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1RleHRDaGVja2VyKiBXS1RleHRDaGVja2Vy
UmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlV0tTZXNzaW9uKiBXS1Nlc3Npb25SZWY7
CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBPcGFxdWVXS1Nlc3Npb25TdGF0ZSogV0tTZXNzaW9uU3Rh
dGVSZWY7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcAko
cmV2aXNpb24gMTkyODkyKQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0MzEsOSArMTQzMSw5IEBAIHN0YXRpYyB2b2lkIGZp
eFVwQm90Y2hlZFBhZ2VVSUNsaWVudChXS1AKICAgICAgICAgV0tQYWdlUGlubmVkU3RhdGVEaWRD
aGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaW5uZWRTdGF0
ZURpZENoYW5nZTsKIAogICAgICAgICAvLyBWZXJzaW9uIDQuCi0gICAgICAgIFdLUGFnZVJ1bkph
dmFTY3JpcHRBbGVydENhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
cnVuSmF2YVNjcmlwdEFsZXJ0OwotICAgICAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNh
bGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25m
aXJtOwotICAgICAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CisgICAgICAgIFdL
UGFnZVJ1bkphdmFTY3JpcHRBbGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAg
ICAgICAgICAgcnVuSmF2YVNjcmlwdEFsZXJ0OworICAgICAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0
Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgIHJ1bkphdmFT
Y3JpcHRDb25maXJtOworICAgICAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0Q2FsbGJhY2tf
ZGVwcmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRQcm9tcHQ7CiAg
ICAgfTsKIAogICAgIGNvbnN0IGF1dG8mIGJvdGNoZWRQYWdlVUlDbGllbnQgPSByZWludGVycHJl
dF9jYXN0PGNvbnN0IEJvdGNoZWRXS1BhZ2VVSUNsaWVudFY0Jj4od2tDbGllbnQpOwpAQCAtMTUw
Myw2ICsxNTAzLDg5IEBAIHN0YXRpYyB2b2lkIGZpeFVwQm90Y2hlZFBhZ2VVSUNsaWVudChXS1AK
IH0KICNlbmRpZgogCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUnVuSmF2YVNjcmlwdEFs
ZXJ0UmVzdWx0TGlzdGVuZXIgOiBwdWJsaWMgQVBJOjpPYmplY3RJbXBsPEFQSTo6T2JqZWN0OjpU
eXBlOjpSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lcj4geworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyPiBjcmVhdGUo
c3RkOjpmdW5jdGlvbjx2b2lkICgpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lcihX
VEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+UnVu
SmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXIoKQorICAgIHsKKyAgICB9CisKKyAgICB2b2lk
IGNhbGwoKQorICAgIHsKKyAgICAgICAgbV9jb21wbGV0aW9uSGFuZGxlcigpOworICAgIH0KKwor
cHJpdmF0ZToKKyAgICBleHBsaWNpdCBSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lcihz
dGQ6OmZ1bmN0aW9uPHZvaWQgKCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgICAgIDogbV9j
b21wbGV0aW9uSGFuZGxlcihXVEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIpKQorICAgIHsKKyAg
ICB9CisgICAgCisgICAgc3RkOjpmdW5jdGlvbjx2b2lkICgpPiBtX2NvbXBsZXRpb25IYW5kbGVy
OworfTsKKworY2xhc3MgUnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRMaXN0ZW5lciA6IHB1Ymxp
YyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OlJ1bkphdmFTY3JpcHRDb25maXJt
UmVzdWx0TGlzdGVuZXI+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxSdW5KYXZh
U2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyPiBjcmVhdGUoc3RkOjpmdW5jdGlvbjx2b2lkIChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgUnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRMaXN0ZW5lcihXVEY6Om1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+UnVuSmF2YVNjcmlwdENvbmZp
cm1SZXN1bHRMaXN0ZW5lcigpCisgICAgeworICAgIH0KKworICAgIHZvaWQgY2FsbChib29sIHJl
c3VsdCkKKyAgICB7CisgICAgICAgIG1fY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKKyAgICB9
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRMaXN0
ZW5lcihzdGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQorICAg
ICAgICA6IG1fY29tcGxldGlvbkhhbmRsZXIoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSkK
KyAgICB7CisgICAgfQorCisgICAgc3RkOjpmdW5jdGlvbjx2b2lkIChib29sKT4gbV9jb21wbGV0
aW9uSGFuZGxlcjsKK307CisKK2NsYXNzIFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5l
ciA6IHB1YmxpYyBBUEk6Ok9iamVjdEltcGw8QVBJOjpPYmplY3Q6OlR5cGU6OlJ1bkphdmFTY3Jp
cHRQcm9tcHRSZXN1bHRMaXN0ZW5lcj4geworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5lcj4gY3JlYXRlKHN0ZDo6ZnVuY3Rpb248
dm9pZCAoY29uc3QgU3RyaW5nJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IFJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5lcihX
VEY6Om1vdmUoY29tcGxldGlvbkhhbmRsZXIpKSk7CisgICAgfQorCisgICAgdmlydHVhbCB+UnVu
SmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyKCkKKyAgICB7CisgICAgfQorCisgICAgdm9p
ZCBjYWxsKGNvbnN0IFN0cmluZyYgcmVzdWx0KQorICAgIHsKKyAgICAgICAgbV9jb21wbGV0aW9u
SGFuZGxlcihyZXN1bHQpOworICAgIH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBSdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXIoc3RkOjpmdW5jdGlvbjx2b2lkIChjb25zdCBTdHJp
bmcmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKKyAgICAgICAgOiBtX2NvbXBsZXRpb25IYW5kbGVy
KFdURjo6bW92ZShjb21wbGV0aW9uSGFuZGxlcikpCisgICAgeworICAgIH0KKworICAgIHN0ZDo6
ZnVuY3Rpb248dm9pZCAoY29uc3QgU3RyaW5nJik+IG1fY29tcGxldGlvbkhhbmRsZXI7Cit9Owor
CitXS19BRERfQVBJX01BUFBJTkcoV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVu
ZXJSZWYsIFJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyKQorV0tfQUREX0FQSV9NQVBQ
SU5HKFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXJSZWYsIFJ1bkphdmFT
Y3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXIpCitXS19BRERfQVBJX01BUFBJTkcoV0tQYWdlUnVu
SmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyUmVmLCBSdW5KYXZhU2NyaXB0UHJvbXB0UmVz
dWx0TGlzdGVuZXIpCisKK30KKwogdm9pZCBXS1BhZ2VTZXRQYWdlVUlDbGllbnQoV0tQYWdlUmVm
IHBhZ2VSZWYsIGNvbnN0IFdLUGFnZVVJQ2xpZW50QmFzZSogd2tDbGllbnQpCiB7CiAjaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEIDw9IDEwMTAwMApA
QCAtMTYxMyw1NyArMTY5Niw4OCBAQCB2b2lkIFdLUGFnZVNldFBhZ2VVSUNsaWVudChXS1BhZ2VS
ZWYgcGFnCiAKICAgICAgICAgdmlydHVhbCB2b2lkIHJ1bkphdmFTY3JpcHRBbGVydChXZWJQYWdl
UHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUs
IGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW5EYXRhLCBzdGQ6OmZ1bmN0
aW9uPHZvaWQgKCk+IGNvbXBsZXRpb25IYW5kbGVyKSBvdmVycmlkZQogICAgICAgICB7Ci0gICAg
ICAgICAgICBpZiAoIW1fY2xpZW50LnJ1bkphdmFTY3JpcHRBbGVydCAmJiAhbV9jbGllbnQucnVu
SmF2YVNjcmlwdEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApIHsKLSAgICAgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcigpOworICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFT
Y3JpcHRBbGVydCkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxSdW5KYXZhU2NyaXB0QWxlcnRS
ZXN1bHRMaXN0ZW5lcj4gbGlzdGVuZXIgPSBSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5l
cjo6Y3JlYXRlKFdURjo6bW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworICAgICAgICAgICAgICAg
IFJlZlB0cjxBUEk6OlNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9yaWdpbiA9IEFQSTo6U2VjdXJp
dHlPcmlnaW46OmNyZWF0ZShzZWN1cml0eU9yaWdpbkRhdGEucHJvdG9jb2wsIHNlY3VyaXR5T3Jp
Z2luRGF0YS5ob3N0LCBzZWN1cml0eU9yaWdpbkRhdGEucG9ydCk7CisgICAgICAgICAgICAgICAg
bV9jbGllbnQucnVuSmF2YVNjcmlwdEFsZXJ0KHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmlt
cGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoc2VjdXJpdHlPcmlnaW4uZ2V0KCkpLCB0b0FQSShs
aXN0ZW5lci5nZXQoKSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBpZiAobV9jbGllbnQucnVu
SmF2YVNjcmlwdEFsZXJ0KSB7CisgICAgICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlw
dEFsZXJ0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUpIHsKICAgICAgICAgICAgICAgICBSZWZQdHI8
QVBJOjpTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUoc2VjdXJpdHlPcmlnaW5EYXRhLnByb3RvY29sLCBzZWN1cml0eU9yaWdpbkRhdGEu
aG9zdCwgc2VjdXJpdHlPcmlnaW5EYXRhLnBvcnQpOwotICAgICAgICAgICAgICAgIG1fY2xpZW50
LnJ1bkphdmFTY3JpcHRBbGVydCh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0
b0FQSShmcmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGllbnQuYmFzZS5j
bGllbnRJbmZvKTsKLSAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAgIG1fY2xpZW50
LnJ1bkphdmFTY3JpcHRBbGVydF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1KHRvQVBJKHBhZ2UpLCB0
b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoc2VjdXJpdHlPcmlnaW4u
Z2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAgICAgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlwdEFsZXJ0
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApIHsKICAgICAgICAgICAgICAgICBtX2NsaWVudC5ydW5K
YXZhU2NyaXB0QWxlcnRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEko
bWVzc2FnZS5pbXBsKCkpLCB0b0FQSShmcmFtZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoKTsKKyAgICAgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgICAgICB9CisKIAogICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
KTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0Q29uZmly
bShXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgV2ViRnJhbWVQcm94
eSogZnJhbWUsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW5EYXRhLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQgKGJvb2wpPiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGUKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5ydW5KYXZhU2NyaXB0Q29uZmlybSAm
JiAhbV9jbGllbnQucnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkg
ewotICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgICAg
IGlmIChtX2NsaWVudC5ydW5KYXZhU2NyaXB0Q29uZmlybSkgeworICAgICAgICAgICAgICAgIFJl
ZlB0cjxSdW5KYXZhU2NyaXB0Q29uZmlybVJlc3VsdExpc3RlbmVyPiBsaXN0ZW5lciA9IFJ1bkph
dmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXI6OmNyZWF0ZShXVEY6Om1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKKyAgICAgICAgICAgICAgICBSZWZQdHI8QVBJOjpTZWN1cml0eU9yaWdpbj4g
c2VjdXJpdHlPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoc2VjdXJpdHlPcmln
aW5EYXRhLnByb3RvY29sLCBzZWN1cml0eU9yaWdpbkRhdGEuaG9zdCwgc2VjdXJpdHlPcmlnaW5E
YXRhLnBvcnQpOworICAgICAgICAgICAgICAgIG1fY2xpZW50LnJ1bkphdmFTY3JpcHRDb25maXJt
KHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEko
c2VjdXJpdHlPcmlnaW4uZ2V0KCkpLCB0b0FQSShsaXN0ZW5lci5nZXQoKSksIG1fY2xpZW50LmJh
c2UuY2xpZW50SW5mbyk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICBib29sIHJlc3VsdDsKLSAgICAgICAgICAgIGlmIChtX2NsaWVudC5ydW5K
YXZhU2NyaXB0Q29uZmlybSkgeworICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFTY3Jp
cHRDb25maXJtX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUpIHsKICAgICAgICAgICAgICAgICBSZWZQ
dHI8QVBJOjpTZWN1cml0eU9yaWdpbj4gc2VjdXJpdHlPcmlnaW4gPSBBUEk6OlNlY3VyaXR5T3Jp
Z2luOjpjcmVhdGUoc2VjdXJpdHlPcmlnaW5EYXRhLnByb3RvY29sLCBzZWN1cml0eU9yaWdpbkRh
dGEuaG9zdCwgc2VjdXJpdHlPcmlnaW5EYXRhLnBvcnQpOwotICAgICAgICAgICAgICAgIHJlc3Vs
dCA9IG1fY2xpZW50LnJ1bkphdmFTY3JpcHRDb25maXJtKHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNz
YWdlLmltcGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoc2VjdXJpdHlPcmlnaW4uZ2V0KCkpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAg
ICAgICAgcmVzdWx0ID0gbV9jbGllbnQucnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZv
clVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2FnZS5pbXBsKCkpLCB0b0FQSShmcmFt
ZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7CisgICAgICAgICAgICAgICAgYm9vbCByZXN1
bHQgPSBtX2NsaWVudC5ydW5KYXZhU2NyaXB0Q29uZmlybV9kZXByZWNhdGVkRm9yVXNlV2l0aFY1
KHRvQVBJKHBhZ2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEko
c2VjdXJpdHlPcmlnaW4uZ2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pOworICAgICAg
ICAgICAgICAgIAorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorICAgICAgICAgICAgCisgICAg
ICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVz
ZVdpdGhWMCkgeworICAgICAgICAgICAgICAgIGJvb2wgcmVzdWx0ID0gbV9jbGllbnQucnVuSmF2
YVNjcmlwdENvbmZpcm1fZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEko
bWVzc2FnZS5pbXBsKCkpLCB0b0FQSShmcmFtZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CiAKLSAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHJlc3VsdCk7CisgICAgICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIocmVzdWx0KTsKKyAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KGZhbHNlKTsKICAgICAgICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBydW5KYXZhU2NyaXB0
UHJvbXB0KFdlYlBhZ2VQcm94eSogcGFnZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBT
dHJpbmcmIGRlZmF1bHRWYWx1ZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFNlY3VyaXR5
T3JpZ2luRGF0YSYgc2VjdXJpdHlPcmlnaW5EYXRhLCBzdGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0
IFN0cmluZyYpPiBjb21wbGV0aW9uSGFuZGxlcikgb3ZlcnJpZGUKICAgICAgICAgewotICAgICAg
ICAgICAgaWYgKCFtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJvbXB0ICYmICFtX2NsaWVudC5ydW5K
YXZhU2NyaXB0UHJvbXB0X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjApIHsKLSAgICAgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihTdHJpbmcoKSk7CisgICAgICAgICAgICBpZiAobV9jbGllbnQu
cnVuSmF2YVNjcmlwdFByb21wdCkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxSdW5KYXZhU2Ny
aXB0UHJvbXB0UmVzdWx0TGlzdGVuZXI+IGxpc3RlbmVyID0gUnVuSmF2YVNjcmlwdFByb21wdFJl
c3VsdExpc3RlbmVyOjpjcmVhdGUoV1RGOjptb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CisgICAg
ICAgICAgICAgICAgUmVmUHRyPEFQSTo6U2VjdXJpdHlPcmlnaW4+IHNlY3VyaXR5T3JpZ2luID0g
QVBJOjpTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHNlY3VyaXR5T3JpZ2luRGF0YS5wcm90b2NvbCwg
c2VjdXJpdHlPcmlnaW5EYXRhLmhvc3QsIHNlY3VyaXR5T3JpZ2luRGF0YS5wb3J0KTsKKyAgICAg
ICAgICAgICAgICBtX2NsaWVudC5ydW5KYXZhU2NyaXB0UHJvbXB0KHRvQVBJKHBhZ2UpLCB0b0FQ
SShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlZmF1bHRWYWx1ZS5pbXBsKCkpLCB0b0FQSShmcmFt
ZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgdG9BUEkobGlzdGVuZXIuZ2V0KCkpLCBt
X2NsaWVudC5iYXNlLmNsaWVudEluZm8pOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAg
ICAgICAgIH0KIAotICAgICAgICAgICAgUmVmUHRyPEFQSTo6U3RyaW5nPiBzdHJpbmc7Ci0gICAg
ICAgICAgICBpZiAobV9jbGllbnQucnVuSmF2YVNjcmlwdFByb21wdCkgeworICAgICAgICAgICAg
aWYgKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWNSkg
ewogICAgICAgICAgICAgICAgIFJlZlB0cjxBUEk6OlNlY3VyaXR5T3JpZ2luPiBzZWN1cml0eU9y
aWdpbiA9IEFQSTo6U2VjdXJpdHlPcmlnaW46OmNyZWF0ZShzZWN1cml0eU9yaWdpbkRhdGEucHJv
dG9jb2wsIHNlY3VyaXR5T3JpZ2luRGF0YS5ob3N0LCBzZWN1cml0eU9yaWdpbkRhdGEucG9ydCk7
Ci0gICAgICAgICAgICAgICAgc3RyaW5nID0gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LnJ1bkph
dmFTY3JpcHRQcm9tcHQodG9BUEkocGFnZSksIHRvQVBJKG1lc3NhZ2UuaW1wbCgpKSwgdG9BUEko
ZGVmYXVsdFZhbHVlLmltcGwoKSksIHRvQVBJKGZyYW1lKSwgdG9BUEkoc2VjdXJpdHlPcmlnaW4u
Z2V0KCkpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8pKSk7Ci0gICAgICAgICAgICB9IGVsc2UK
LSAgICAgICAgICAgICAgICBzdHJpbmcgPSBhZG9wdFJlZih0b0ltcGwobV9jbGllbnQucnVuSmF2
YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKHBhZ2UpLCB0b0FQSSht
ZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlZmF1bHRWYWx1ZS5pbXBsKCkpLCB0b0FQSShmcmFtZSks
IG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbykpKTsKLQotICAgICAgICAgICAgaWYgKCFzdHJpbmcp
IHsKLSAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihTdHJpbmcoKSk7CisgICAgICAg
ICAgICAgICAgUmVmUHRyPEFQSTo6U3RyaW5nPiBzdHJpbmcgPSBhZG9wdFJlZih0b0ltcGwobV9j
bGllbnQucnVuSmF2YVNjcmlwdFByb21wdF9kZXByZWNhdGVkRm9yVXNlV2l0aFY1KHRvQVBJKHBh
Z2UpLCB0b0FQSShtZXNzYWdlLmltcGwoKSksIHRvQVBJKGRlZmF1bHRWYWx1ZS5pbXBsKCkpLCB0
b0FQSShmcmFtZSksIHRvQVBJKHNlY3VyaXR5T3JpZ2luLmdldCgpKSwgbV9jbGllbnQuYmFzZS5j
bGllbnRJbmZvKSkpOworICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgIGlmIChzdHJp
bmcpCisgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0cmluZy0+c3RyaW5n
KCkpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoU3RyaW5nKCkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG1fY2xpZW50LnJ1bkphdmFTY3JpcHRQ
cm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxB
UEk6OlN0cmluZz4gc3RyaW5nID0gYWRvcHRSZWYodG9JbXBsKG1fY2xpZW50LnJ1bkphdmFTY3Jp
cHRQcm9tcHRfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCh0b0FQSShwYWdlKSwgdG9BUEkobWVzc2Fn
ZS5pbXBsKCkpLCB0b0FQSShkZWZhdWx0VmFsdWUuaW1wbCgpKSwgdG9BUEkoZnJhbWUpLCBtX2Ns
aWVudC5iYXNlLmNsaWVudEluZm8pKSk7CisgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAg
ICAgaWYgKHN0cmluZykKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3Ry
aW5nLT5zdHJpbmcoKSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihTdHJpbmcoKSk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdHJpbmctPnN0
cmluZygpKTsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFN0cmluZygpKTsKICAgICAg
ICAgfQogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBzZXRTdGF0dXNUZXh0KFdlYlBhZ2VQcm94eSog
cGFnZSwgY29uc3QgU3RyaW5nJiB0ZXh0KSBvdmVycmlkZQpJbmRleDogU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVVJQ2xpZW50LmgJKHJldmlzaW9uIDE5Mjg5MikK
KysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VVSUNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OCwxMSArNDgsMjEgQEAgZW51bSB7CiB9OwogdHlwZWRlZiB1aW50MzJf
dCBXS1BsdWdpblVuYXZhaWxhYmlsaXR5UmVhc29uOwogCisKK1dLX0VYUE9SVCBXS1R5cGVJRCBX
S1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lckdldFR5cGVJRCgpOworV0tfRVhQ
T1JUIHZvaWQgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0UmVzdWx0TGlzdGVuZXJDYWxsKFdLUGFn
ZVJ1bkphdmFTY3JpcHRBbGVydFJlc3VsdExpc3RlbmVyUmVmIGxpc3RlbmVyKTsKKworV0tfRVhQ
T1JUIFdLVHlwZUlEIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXJHZXRU
eXBlSUQoKTsKK1dLX0VYUE9SVCB2b2lkIFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0
TGlzdGVuZXJDYWxsKFdLUGFnZVJ1bkphdmFTY3JpcHRDb25maXJtUmVzdWx0TGlzdGVuZXJSZWYg
bGlzdGVuZXIsIGJvb2wgcmVzdWx0KTsKKworV0tfRVhQT1JUIFdLVHlwZUlEIFdLUGFnZVJ1bkph
dmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5lckdldFR5cGVJRCgpOworV0tfRVhQT1JUIHZvaWQg
V0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdFJlc3VsdExpc3RlbmVyQ2FsbChXS1BhZ2VSdW5KYXZh
U2NyaXB0UHJvbXB0UmVzdWx0TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLU3RyaW5nUmVmIHJlc3Vs
dCk7CisKIHR5cGVkZWYgdm9pZCAoKldLUGFnZVVJQ2xpZW50Q2FsbGJhY2spKFdLUGFnZVJlZiBw
YWdlLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdl
Q3JlYXRlTmV3UGFnZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tQYWdlQ29uZmlndXJhdGlv
blJlZiBjb25maWd1cmF0aW9uLCBXS05hdmlnYXRpb25BY3Rpb25SZWYgbmF2aWdhdGlvbkFjdGlv
biwgV0tXaW5kb3dGZWF0dXJlc1JlZiB3aW5kb3dGZWF0dXJlcywgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayko
V0tQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIGFsZXJ0VGV4dCwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Ci10eXBlZGVmIGJvb2wgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrKShX
S1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tT
ZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7
Ci10eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxiYWNr
KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVs
dFZhbHVlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3Jp
Z2luLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkph
dmFTY3JpcHRBbGVydENhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgYWxlcnRU
ZXh0LCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1NlY3VyaXR5T3JpZ2luUmVmIHNlY3VyaXR5T3JpZ2lu
LCBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRSZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29u
c3Qgdm9pZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0
Q29uZmlybUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tG
cmFtZVJlZiBmcmFtZSwgV0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgV0tQYWdl
UnVuSmF2YVNjcmlwdENvbmZpcm1SZXN1bHRMaXN0ZW5lclJlZiBsaXN0ZW5lciwgY29uc3Qgdm9p
ZCAqY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VSdW5KYXZhU2NyaXB0UHJvbXB0
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtZXNzYWdlLCBXS1N0cmluZ1Jl
ZiBkZWZhdWx0VmFsdWUsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYgc2Vj
dXJpdHlPcmlnaW4sIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRSZXN1bHRMaXN0ZW5lclJlZiBs
aXN0ZW5lciwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VU
YWtlRm9jdXNDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIFdLRm9jdXNEaXJlY3Rpb24gZGlyZWN0
aW9uLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgdm9pZCAoKldLUGFnZUZvY3Vz
Q2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVk
ZWYgdm9pZCAoKldLUGFnZVVuZm9jdXNDYWxsYmFjaykoV0tQYWdlUmVmIHBhZ2UsIGNvbnN0IHZv
aWQgKmNsaWVudEluZm8pOwpAQCAtOTksNiArMTA5LDEwIEBAIHR5cGVkZWYgdm9pZCAoKldLUGFn
ZVJ1bkphdmFTY3JpcHRBbGVydEMKIHR5cGVkZWYgYm9vbCAoKldLUGFnZVJ1bkphdmFTY3JpcHRD
b25maXJtQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdlUmVmIHBhZ2UsIFdL
U3RyaW5nUmVmIG1lc3NhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIGNvbnN0IHZvaWQgKmNsaWVudElu
Zm8pOwogdHlwZWRlZiBXS1N0cmluZ1JlZiAoKldLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFYwKShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYg
bWVzc2FnZSwgV0tTdHJpbmdSZWYgZGVmYXVsdFZhbHVlLCBXS0ZyYW1lUmVmIGZyYW1lLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKIHR5cGVkZWYgV0tQYWdlUmVmICgqV0tQYWdlQ3JlYXRlTmV3
UGFnZUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjEpKFdLUGFnZVJlZiBwYWdlLCBXS1VS
TFJlcXVlc3RSZWYgdXJsUmVxdWVzdCwgV0tEaWN0aW9uYXJ5UmVmIGZlYXR1cmVzLCBXS0V2ZW50
TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1vdXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBjb25z
dCB2b2lkICpjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZVJ1bkphdmFTY3JpcHRB
bGVydENhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUpKFdLUGFnZVJlZiBwYWdlLCBXS1N0
cmluZ1JlZiBhbGVydFRleHQsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2VjdXJpdHlPcmlnaW5SZWYg
c2VjdXJpdHlPcmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwordHlwZWRlZiBib29sICgq
V0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1
KShXS1BhZ2VSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tTZWN1cml0eU9yaWdpblJlZiBzZWN1cml0eU9yaWdpbiwgY29uc3Qgdm9pZCAqY2xpZW50SW5m
byk7Cit0eXBlZGVmIFdLU3RyaW5nUmVmICgqV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUpKFdLUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBt
ZXNzYWdlLCBXS1N0cmluZ1JlZiBkZWZhdWx0VmFsdWUsIFdLRnJhbWVSZWYgZnJhbWUsIFdLU2Vj
dXJpdHlPcmlnaW5SZWYgc2VjdXJpdHlPcmlnaW4sIGNvbnN0IHZvaWQgKmNsaWVudEluZm8pOwor
CiAKIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50QmFzZSB7CiAgICAgaW50ICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2
ZXJzaW9uOwpAQCAtNDQ4LDkgKzQ2Miw5IEBAIHR5cGVkZWYgc3RydWN0IFdLUGFnZVVJQ2xpZW50
VjUgewogICAgIC8vIFZlcnNpb24gNS4KICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JVc2VyTWVk
aWFQZXJtaXNzaW9uUmVxdWVzdENhbGxiYWNrICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0OwogICAgIFdLUGFnZURpZENsaWNrQXV0b0ZpbGxCdXR0
b25DYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlkQ2xpY2tBdXRvRmls
bEJ1dHRvbjsKLSAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydDsKLSAgICBXS1BhZ2VS
dW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOwotICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRD
YWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFBy
b21wdDsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFja19kZXByZWNhdGVkRm9y
VXNlV2l0aFY1ICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydDsKKyAgICBXS1BhZ2VSdW5K
YXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAg
IHJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9tcHRDYWxs
YmFja19kZXByZWNhdGVkRm9yVXNlV2l0aFY1ICAgICAgICAgICAgcnVuSmF2YVNjcmlwdFByb21w
dDsKICAgICBXS1BhZ2VNZWRpYVNlc3Npb25NZXRhZGF0YURpZENoYW5nZUNhbGxiYWNrICAgICAg
ICAgICAgICAgICAgICAgICAgIG1lZGlhU2Vzc2lvbk1ldGFkYXRhRGlkQ2hhbmdlOwogfSBXS1Bh
Z2VVSUNsaWVudFY1OwogCkBAIC01MjEsMTQgKzUzNSwxNiBAQCB0eXBlZGVmIHN0cnVjdCBXS1Bh
Z2VVSUNsaWVudFY2IHsKICAgICAvLyBWZXJzaW9uIDUuCiAgICAgV0tQYWdlRGVjaWRlUG9saWN5
Rm9yVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RDYWxsYmFjayAgICAgICAgICAgICBkZWNpZGVQ
b2xpY3lGb3JVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdDsKICAgICBXS1BhZ2VEaWRDbGlja0F1
dG9GaWxsQnV0dG9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZENs
aWNrQXV0b0ZpbGxCdXR0b247Ci0gICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2sg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnQ7Ci0g
ICAgV0tQYWdlUnVuSmF2YVNjcmlwdENvbmZpcm1DYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBydW5KYXZhU2NyaXB0Q29uZmlybTsKLSAgICBXS1BhZ2VSdW5KYXZhU2Ny
aXB0UHJvbXB0Q2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkph
dmFTY3JpcHRQcm9tcHQ7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdEFsZXJ0Q2FsbGJhY2tfZGVw
cmVjYXRlZEZvclVzZVdpdGhWNSAgICAgICAgICAgICBydW5KYXZhU2NyaXB0QWxlcnRfZGVwcmVj
YXRlZEZvclVzZVdpdGhWNTsKKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNr
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtX2Rl
cHJlY2F0ZWRGb3JVc2VXaXRoVjU7CisgICAgV0tQYWdlUnVuSmF2YVNjcmlwdFByb21wdENhbGxi
YWNrX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjUgICAgICAgICAgICBydW5KYXZhU2NyaXB0UHJvbXB0
X2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjU7CiAgICAgV0tQYWdlTWVkaWFTZXNzaW9uTWV0YWRhdGFE
aWRDaGFuZ2VDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVNlc3Npb25NZXRh
ZGF0YURpZENoYW5nZTsKIAogICAgIC8vIFZlcnNpb24gNi4KICAgICBXS1BhZ2VDcmVhdGVOZXdQ
YWdlQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0
ZU5ld1BhZ2U7Ci0KKyAgICBXS1BhZ2VSdW5KYXZhU2NyaXB0QWxlcnRDYWxsYmFjayAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bkphdmFTY3JpcHRBbGVydDsKKyAgICBXS1Bh
Z2VSdW5KYXZhU2NyaXB0Q29uZmlybUNhbGxiYWNrICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJ1bkphdmFTY3JpcHRDb25maXJtOworICAgIFdLUGFnZVJ1bkphdmFTY3JpcHRQcm9t
cHRDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVuSmF2YVNjcmlw
dFByb21wdDsKIH0gV0tQYWdlVUlDbGllbnRWNjsKIAogI2lmZGVmIF9fY3BsdXNwbHVzCkluZGV4
OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lv
biAxOTI4OTIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
NiBAQAorMjAxNS0xMi0wMSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgorCisgICAgICAg
IE5lZWQgY29tcGxldGlvbkhhbmRsZXItYmFzZWQgV2ViS2l0IEMgU1BJIGZvciBhbGVydCwgY29u
ZmlybSwgYW5kIHByb21wdAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjMzMjA4NjM+CisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTE3MDgKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6
Y3JlYXRlT3RoZXJQYWdlKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmNyZWF0ZVdl
YlZpZXdXaXRoT3B0aW9ucyk6CisgICAgICAgIFVwZGF0ZSBmb3IgbmV3IFdLUGFnZVVJQ2xpZW50
LgorCiAyMDE1LTExLTMwICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgTWFrZSBQcm9jZXNzTW9kZWwgYWx3YXlzIE11bHRpcGxlU2Vjb25kYXJ5
UHJvY2Vzc2VzCkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cAkocmV2aXNpb24gMTkyODkyKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NSw2ICsyNzUsOSBAQCBXS1BhZ2VSZWYgVGVz
dENvbnRyb2xsZXI6OmNyZWF0ZU90aGVyUGFnCiAgICAgICAgIDAsIC8vIHJ1bkphdmFTY3JpcHRQ
cm9tcHQKICAgICAgICAgMCwgLy8gbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2UKICAgICAg
ICAgY3JlYXRlT3RoZXJQYWdlLAorICAgICAgICAwLCAvLyBydW5KYXZhU2NyaXB0QWxlcnQKKyAg
ICAgICAgMCwgLy8gcnVuSmF2YVNjcmlwdENvbmZpcm0KKyAgICAgICAgMCAgLy8gcnVuSmF2YVNj
cmlwdFByb21wdAogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KG5ld1BhZ2UsICZv
dGhlclBhZ2VVSUNsaWVudC5iYXNlKTsKICAgICAKQEAgLTUzNCw2ICs1MzcsOSBAQCB2b2lkIFRl
c3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wCiAgICAgICAgIDAsIC8vIHJ1bkphdmFT
Y3JpcHRQcm9tcHQKICAgICAgICAgMCwgLy8gbWVkaWFTZXNzaW9uTWV0YWRhdGFEaWRDaGFuZ2UK
ICAgICAgICAgY3JlYXRlT3RoZXJQYWdlLAorICAgICAgICAwLCAvLyBydW5KYXZhU2NyaXB0QWxl
cnQKKyAgICAgICAgMCwgLy8gcnVuSmF2YVNjcmlwdENvbmZpcm0KKyAgICAgICAgMCwgLy8gcnVu
SmF2YVNjcmlwdFByb21wdAogICAgIH07CiAgICAgV0tQYWdlU2V0UGFnZVVJQ2xpZW50KG1fbWFp
bldlYlZpZXctPnBhZ2UoKSwgJnBhZ2VVSUNsaWVudC5iYXNlKTsKIAo=
</data>
<flag name="review"
          id="291387"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>