<?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>238504</bug_id>
          
          <creation_ts>2022-03-29 07:00:41 -0700</creation_ts>
          <short_desc>Move AuxiliaryProcess::createIPCConnectionPair to IPC::Connection</short_desc>
          <delta_ts>2022-03-30 02:50:16 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237674</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kimmo Kinnunen">kkinnunen</reporter>
          <assigned_to name="Kimmo Kinnunen">kkinnunen</assigned_to>
          <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>pangle</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1856008</commentid>
    <comment_count>0</comment_count>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 07:00:41 -0700</bug_when>
    <thetext>Move AuxiliaryProcess::createIPCConnectionPair to IPC::Connection</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856010</commentid>
    <comment_count>1</comment_count>
      <attachid>456022</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 07:06:23 -0700</bug_when>
    <thetext>Created attachment 456022
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856019</commentid>
    <comment_count>2</comment_count>
      <attachid>456024</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 07:40:36 -0700</bug_when>
    <thetext>Created attachment 456024
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856020</commentid>
    <comment_count>3</comment_count>
      <attachid>456024</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 07:47:59 -0700</bug_when>
    <thetext>Comment on attachment 456024
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=456024&amp;action=review

&gt; Source/WebKit/WebProcess/Inspector/WebInspectorUI.cpp:105
&gt; +    m_backendConnection = IPC::Connection::createServerConnection(connectionIdentifiers-&gt;server, *this);

In this function, before code reuse it 
- created the port
-  set the MACH_MSG_TYPE_MAKE_SEND right
- sent the port right with MACH_MSG_TYPE_MOVE_SEND Attachment disposition

After code reuse:
- created the port
- sent the port right with MACH_MSG_TYPE_MAKE_SEND  Attachment disposition

I think these two should be equivalent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856046</commentid>
    <comment_count>4</comment_count>
      <attachid>456032</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-29 09:34:58 -0700</bug_when>
    <thetext>Created attachment 456032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856108</commentid>
    <comment_count>5</comment_count>
      <attachid>456032</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-29 11:25:46 -0700</bug_when>
    <thetext>Comment on attachment 456032
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856340</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-30 02:49:16 -0700</bug_when>
    <thetext>Committed r292102 (249022@main): &lt;https://commits.webkit.org/249022@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456032.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856341</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-30 02:50:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/91034263&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456022</attachid>
            <date>2022-03-29 07:06:23 -0700</date>
            <delta_ts>2022-03-29 08:22:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238504-20220329170621.patch</filename>
            <type>text/plain</type>
            <size>16566</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZDg5NThhMDlkZjY3ZTJj
MWEzNGI3Njk3NmY3YjE3MTE3NGY4OTQuLmFhMmI0ZmVjYTUzMDQ1OWRlMWM1ZDQwNzA4MzBkYjhm
ZjZhNDI1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDMtMjkgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEF1eGlsaWFyeVBy
b2Nlc3M6OmNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyIHRvIElQQzo6Q29ubmVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTA0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBjb25uZWN0aW9u
IHBvcnQvc29ja2V0L3BpcGUgcGFpciBjcmVhdGlvbiBmdW5jdGlvbiBmcm9tIEF1eGlsaWFyeVBy
b2Nlc3MKKyAgICAgICAgdG8gSVBDOjpDb25uZWN0aW9uLiBUaGlzIHdheSBvdGhlciBjb21wb25l
bnRzIHRoYW4gQXV4aWxpYXJ5UHJvY2VzcyBzdWJjbGFzc2VzCisgICAgICAgIGNhbiBjcmVhdGUg
YW5kIHNlbmQgbmV3IGNvbm5lY3Rpb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0
b3IuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVQcm9jZXNzOjpjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoSVBDOjpDb25u
ZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIpOgorICAgICAgICAqIFBsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5l
Y3Rpb25Db2NvYS5tbToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlv
bklkZW50aWZpZXJQYWlyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9u
VW5peC5jcHA6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcik6CisgICAgICAgICogUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNw
cDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlvbklkZW50aWZpZXJQ
YWlyKToKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpjcmVh
dGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yVUk6OnVwZGF0ZUNvbm5lY3Rpb24pOgorCiAyMDIyLTAzLTI4ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgY3VzdG9tIHN0b3JhZ2UgcGF0aHMg
Zm9yIEluZGV4ZWREQiBhbmQgTG9jYWxTdG9yYWdlIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBhOTM3OTY1ZDEyODU3NTE2ODUxYjM2ZTcxM2U2
NTFlMGRhMmQ4YWU1Li4wMmJlZjNhYjRhNTQwY2VhYjQ1ODFjMTQ2MGY0Zjc1MzNiNTYwMmViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0xMTgsMTMgKzExOCwx
MyBAQCB2b2lkIEdQVVByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZQogdm9pZCBHUFVQcm9jZXNzOjpjcmVhdGVHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0
ZXJzJiYgcGFyYW1ldGVycywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPElQ
Qzo6QXR0YWNobWVudD4mJiwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Jbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
cywgIiVwIC0gR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczogcHJv
Y2Vzc0lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBpZGVudGlmaWVyLnRvVUludDY0KCkpOwot
ICAgIGF1dG8gaXBjQ29ubmVjdGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAg
aWYgKCFpcGNDb25uZWN0aW9uKSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJ
UEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlm
ICghY29ubmVjdGlvbklkZW50aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSwgeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gbmV3Q29ubmVjdGlv
biA9IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwg
aXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCwgV1RGTW92ZShwYXJhbWV0ZXJzKSk7Cisg
ICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
KCp0aGlzLCBpZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlciwgc2Vzc2lv
bklELCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWZhY3RvciBjb2RlIHRvIGdvIGZyb20gV2ViUHJvY2Vz
cyAtPiBHUFVQcm9jZXNzIC0+IFVJUHJvY2VzcyB3aGVuIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQg
aW5zdGVhZCBvZiBnb2luZyBmcm9tIFdlYlByb2Nlc3MgLT4gVUlQcm9jZXNzIGRpcmVjdGx5LgpA
QCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBpZGVuCiAjaWYgRU5BQkxFKFZQ
OSkKICAgICBjb25uZWN0aW9uUGFyYW1ldGVycy5oYXNWUDlIYXJkd2FyZURlY29kZXIgPSBXZWJD
b3JlOjp2cDlIYXJkd2FyZURlY29kZXJBdmFpbGFibGUoKTsKICNlbmRpZgotICAgIGNvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUoaXBjQ29ubmVjdGlvbi0+c2Vjb25kKSwgV1RGTW92ZShjb25uZWN0
aW9uUGFyYW1ldGVycykpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29ubmVjdGlv
bklkZW50aWZpZXJzLT5jbGllbnQpLCBXVEZNb3ZlKGNvbm5lY3Rpb25QYXJhbWV0ZXJzKSk7CiB9
CiAKIHZvaWQgR1BVUHJvY2Vzczo6cmVtb3ZlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA1ODlkMTY2MzQxMmNmMzRlMzBj
ZTAxNjAzNGViYTNhZjg2NDQyZWFlLi44OWE2OTFlZjY3MGJmZTdjZmViYmUwMTliZTllZTcyYzVl
Y2JkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcApAQCAtMzY4LDIwICszNjgsMjAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlh
bGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogCiB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYsIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gaXBjQ29ubmVj
dGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAgaWYgKCFpcGNDb25uZWN0aW9u
KSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlmICghY29ubmVjdGlvbklkZW50
aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeTo6TmV2ZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdD
b25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywg
aWRlbnRpZmllciwgc2Vzc2lvbklELCBpcGNDb25uZWN0aW9uLT5maXJzdCk7CisgICAgYXV0byBu
ZXdDb25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhp
cywgaWRlbnRpZmllciwgc2Vzc2lvbklELCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlcik7
CiAgICAgYXV0byYgY29ubmVjdGlvbiA9IG5ld0Nvbm5lY3Rpb24uZ2V0KCk7CiAKICAgICBBU1NF
UlQoIW1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKICAgICBt
X3dlYlByb2Nlc3NDb25uZWN0aW9ucy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShuZXdDb25uZWN0
aW9uKSk7CiAKICAgICBhdXRvKiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKTsK
LSAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGlwY0Nvbm5lY3Rpb24tPnNlY29uZCksIHN0
b3JhZ2UgPyBzdG9yYWdlLT5jb29raWVBY2NlcHRQb2xpY3koKSA6IEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6Ok5ldmVyKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25J
ZGVudGlmaWVycy0+Y2xpZW50KSwgc3RvcmFnZSA/IHN0b3JhZ2UtPmNvb2tpZUFjY2VwdFBvbGlj
eSgpIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIpOwogCiAgICAgY29ubmVjdGlvbi5z
ZXRPbkxpbmVTdGF0ZShOZXR3b3JrU3RhdGVOb3RpZmllcjo6c2luZ2xldG9uKCkub25MaW5lKCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IGI3NDlk
NmY2YzIzODVjZmU1ZTAwYWU4MTFiMjk1NWJkZmY4M2YyMWMuLjdiN2UwOWQwYWRiNTQ0ZjRiZGM1
ODc3Y2Y1MmYxYmY4OTdjYjJhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uY3BwCkBAIC0xMzAxLDQgKzEzMDEsMTIgQEAgdm9pZCBDb25uZWN0aW9uOjp3YWtlVXBS
dW5Mb29wKCkKICAgICBSdW5Mb29wOjptYWluKCkud2FrZVVwKCk7CiB9CiAKKyNpZiAhVVNFKFVO
SVhfRE9NQUlOX1NPQ0tFVFMpICYmICFPUyhEQVJXSU4pICYmICFPUyhXSU5ET1dTKQorc3RkOjpv
cHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246
OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDk0ZjhkNzk2
NzkzZWUzZjZjM2FhNjVhOWE0MWQ3ODdlODExODdhNWEuLmIzMTVkOThlZWNlNTJjOWIyYTM4NWVl
YjFjNzQ3YzY0MWUzMzMwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKQEAgLTIwNSw2ICsyMDUsMTMgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJlZjxDb25uZWN0
aW9uPiBjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKElkZW50aWZpZXIsIENsaWVudCYpOwogICAgIHN0
YXRpYyBSZWY8Q29ubmVjdGlvbj4gY3JlYXRlQ2xpZW50Q29ubmVjdGlvbihJZGVudGlmaWVyLCBD
bGllbnQmKTsKKworICAgIHN0cnVjdCBDb25uZWN0aW9uSWRlbnRpZmllclBhaXIgeworICAgICAg
ICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVyOworICAgICAgICBJUEM6OkF0dGFj
aG1lbnQgY2xpZW50OworICAgIH07CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q29ubmVjdGlv
bklkZW50aWZpZXJQYWlyPiBjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKTsKKwogICAg
IH5Db25uZWN0aW9uKCk7CiAKICAgICBDbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9D
b25uZWN0aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9Db25u
ZWN0aW9uQ29jb2EubW0KaW5kZXggYTNhNWY0OTk1NmJmMTVjZjgwZGYzMjcyOGUxMzM3YjRkZTk5
ODk2Yy4uOTQ3MjM1MGY4NWY0OWQ1Y2JiYjI0MzQ3ZDU5M2JlYjg2MjE0YzgzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2EvQ29ubmVjdGlvbkNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQpA
QCAtNjU3LDUgKzY1NywyMCBAQCBwaWRfdCBDb25uZWN0aW9uOjpyZW1vdGVQcm9jZXNzSUQoKSBj
b25zdAogCiAgICAgcmV0dXJuIHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9u
LmdldCgpKTsKIH0KLSAgICAKKworc3RkOjpvcHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9u
SWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFp
cigpCit7CisgICAgLy8gQ3JlYXRlIHRoZSBsaXN0ZW5pbmcgcG9ydC4KKyAgICBtYWNoX3BvcnRf
dCBsaXN0ZW5pbmdQb3J0ID0gTUFDSF9QT1JUX05VTEw7CisgICAgYXV0byBrciA9IG1hY2hfcG9y
dF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxp
c3RlbmluZ1BvcnQpOworICAgIGlmIChrciAhPSBLRVJOX1NVQ0NFU1MpIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJyb3IgJXgiLCBrcik7
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorICAgIGlmICghTUFDSF9QT1JU
X1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXI6IENvdWxkIG5v
dCBhbGxvY2F0ZSBtYWNoIHBvcnQsIHJldHVybmVkIHBvcnQgd2FzIGludmFsaWQiKTsKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB9CisgICAgcmV0dXJuIENvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpciB7IENvbm5lY3Rpb246OklkZW50aWZpZXIgeyBsaXN0ZW5pbmdQb3J0IH0sIEF0
dGFjaG1lbnQgeyBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCB9IH07Cit9
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
dW5peC9Db25uZWN0aW9uVW5peC5jcHAKaW5kZXggMTFkMzZhM2I3ZDUyNDUyNjc1YzRiNGU0NDNh
YTQ0YmFlZDdiZTljMy4uMzExY2IxYzIyYmQ2OTgyZDAxMDMzNWFkODJkZjI4ZTA1YjE1N2I3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKQEAgLTYzNSw0ICs2MzUsOSBAQCB2b2lkIENvbm5lY3Rpb246OmRpZFJlY2VpdmVTeW5j
UmVwbHkoT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPikKIHsKIH0KIAorc3RkOjpvcHRpb25hbDxD
b25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNv
bm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgQ29ubmVjdGlvbjo6U29ja2V0UGFpciBz
b2NrZXRQYWlyID0gQ29ubmVjdGlvbjo6Y3JlYXRlUGxhdGZvcm1Db25uZWN0aW9uKCk7CisgICAg
cmV0dXJuIChzb2NrZXRQYWlyLnNlcnZlciwgQXR0YWNobWVudCB7IHNvY2tldFBhaXIuY2xpZW50
IH0pOworfQogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAKaW5kZXggZGE4ZDdmMGZiOGVjMDdmNThlNjgxZDhh
Yjg5MmE4Mjk3ZDM2ODhhNC4uNmViNWZiYzBhODZmOTQ0MWNkZTczMWFjNjE0ZWY3ZjQxZTY1ODQ2
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2lu
LmNwcApAQCAtMzYwLDQgKzM2MCwxNCBAQCB2b2lkIENvbm5lY3Rpb246OkV2ZW50TGlzdGVuZXI6
OmNsb3NlKCkKICAgICBtX2hhbmRsZXIgPSBGdW5jdGlvbjx2b2lkKCk+KCk7CiB9CiAKK3N0ZDo6
b3B0aW9uYWw8Q29ubmVjdGlvbjo6Q29ubmVjdGlvbklkZW50aWZpZXJQYWlyPiBDb25uZWN0aW9u
OjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKQoreworICAgIENvbm5lY3Rpb246Oklk
ZW50aWZpZXIgc2VydmVySWRlbnRpZmllciwgY2xpZW50SWRlbnRpZmllcjsKKyAgICBpZiAoIUNv
bm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKHNlcnZlcklkZW50aWZp
ZXIsIGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNy
ZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVudGlmaWVycyIpOworICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworICAgIH0KKyAgICByZXR1cm4gQ29ubmVjdGlvbklkZW50aWZpZXJQYWlyIHsg
c2VydmVySWRlbnRpZmllciwgQXR0YWNobWVudCB7IGNsaWVudElkZW50aWZpZXIgfSB9OworfQor
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1
eGlsaWFyeVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKaW5kZXggOWUzNzk2YjdiM2JlM2MxYTNhZjQ5OTdkNzU2ZjQyYmQyODczNDJjMS4uZDNi
Mzg3M2ZlMmFhMzRmMjZmOTNiNDEwOWJlNzFmYTZhODBhZTlhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAgLTIwOSwzNyArMjA5LDYgQEAgdm9pZCBBdXhp
bGlhcnlQcm9jZXNzOjpzaHV0RG93bigpCiAgICAgdGVybWluYXRlKCk7CiB9CiAKLXN0ZDo6b3B0
aW9uYWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2ht
ZW50Pj4gQXV4aWxpYXJ5UHJvY2Vzczo6Y3JlYXRlSVBDQ29ubmVjdGlvblBhaXIoKQotewotI2lm
IFVTRShVTklYX0RPTUFJTl9TT0NLRVRTKQotICAgIElQQzo6Q29ubmVjdGlvbjo6U29ja2V0UGFp
ciBzb2NrZXRQYWlyID0gSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVQbGF0Zm9ybUNvbm5lY3Rpb24o
KTsKLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoc29ja2V0UGFpci5zZXJ2ZXIsIElQQzo6QXR0
YWNobWVudCB7IHNvY2tldFBhaXIuY2xpZW50IH0pOwotI2VsaWYgT1MoREFSV0lOKQotICAgIC8v
IENyZWF0ZSB0aGUgbGlzdGVuaW5nIHBvcnQuCi0gICAgbWFjaF9wb3J0X3QgbGlzdGVuaW5nUG9y
dCA9IE1BQ0hfUE9SVF9OVUxMOwotICAgIGF1dG8ga3IgPSBtYWNoX3BvcnRfYWxsb2NhdGUobWFj
aF90YXNrX3NlbGYoKSwgTUFDSF9QT1JUX1JJR0hUX1JFQ0VJVkUsICZsaXN0ZW5pbmdQb3J0KTsK
LSAgICBpZiAoa3IgIT0gS0VSTl9TVUNDRVNTKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3MsICJBdXhpbGlhcnlQcm9jZXNzOjpjcmVhdGVJUENDb25uZWN0aW9uUGFpcjogQ291
bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJyb3IgJXgiLCBrcik7Ci0gICAgICAgIENSQVNI
KCk7Ci0gICAgfQotICAgIGlmICghTUFDSF9QT1JUX1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJBdXhpbGlhcnlQcm9jZXNzOjpjcmVh
dGVJUENDb25uZWN0aW9uUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgcmV0dXJu
ZWQgcG9ydCB3YXMgaW52YWxpZCIpOwotICAgICAgICBDUkFTSCgpOwotICAgIH0KLSAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIoSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHsgbGlzdGVuaW5n
UG9ydCB9LCBJUEM6OkF0dGFjaG1lbnQgeyBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01B
S0VfU0VORCB9KTsKLSNlbGlmIE9TKFdJTkRPV1MpCi0gICAgSVBDOjpDb25uZWN0aW9uOjpJZGVu
dGlmaWVyIHNlcnZlcklkZW50aWZpZXIsIGNsaWVudElkZW50aWZpZXI7Ci0gICAgaWYgKCFJUEM6
OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKHNlcnZlcklkZW50
aWZpZXIsIGNsaWVudElkZW50aWZpZXIpKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGNyZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVudGlmaWVycyIpOwotICAgICAgICBDUkFTSCgp
OwotICAgIH0KLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoc2VydmVySWRlbnRpZmllciwgSVBD
OjpBdHRhY2htZW50IHsgY2xpZW50SWRlbnRpZmllciB9KTsKLSNlbHNlCi0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4geyB9OwotI2VuZGlmCi19Ci0KIHZvaWQgQXV4aWxpYXJ5UHJv
Y2Vzczo6YXBwbHlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKGNvbnN0IEF1eGlsaWFyeVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuaAppbmRleCAyMjI4MzhiZTYxNmYyMjM2OGUwM2UyNDY1ZDA3N2U5MGJiNWNhNDUwLi45MmI3
ODI5ODU5M2MzMmM5NWNlN2M3MmRlYjhlNzcxZTg2MTE2YTU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0xMzQsOCArMTM0LDYgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lbW9yeVByZXNzdXJlRXZlbnQoYm9vbCBpc0NyaXRpY2FsKTsKICNl
bmRpZgogCi0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2htZW50Pj4gY3JlYXRlSVBDQ29ubmVjdGlvblBhaXIo
KTsKLQogcHJvdGVjdGVkOgogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIHN0
YXRpYyBpZCBkZWNvZGVQcmVmZXJlbmNlVmFsdWUoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHJpbmc+
JiBlbmNvZGVkVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggZGNjNWVlNTkzNmQyM2JhZWZmNTM0NTk1MTY2MDA5NmQ1
NjZiODA0MC4uNTJlODQzYWNiOGZkZDdiMzM5NTViNTU0MjU0MzZhZTRjNWQxMzk4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBA
IC01MSwxOCArNTEsMTggQEAgV2ViQXV0aG5Qcm9jZXNzOjp+V2ViQXV0aG5Qcm9jZXNzKCkKIAog
dm9pZCBXZWJBdXRoblByb2Nlc3M6OmNyZWF0ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigpOwotICAg
IGlmICghaXBjQ29ubmVjdGlvbikgeworICAgIGF1dG8gY29ubmVjdGlvbklkZW50aWZpZXJzID0g
SVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKTsKKyAgICBp
ZiAoIWNvbm5lY3Rpb25JZGVudGlmaWVycykgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7
IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25uZWN0aW9uID0g
V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZpZXIs
IGlwY0Nvbm5lY3Rpb24tPmZpcnN0KTsKKyAgICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwgY29ubmVj
dGlvbklkZW50aWZpZXJzLT5zZXJ2ZXIpOwogCiAgICAgQVNTRVJUKCFtX3dlYlByb2Nlc3NDb25u
ZWN0aW9ucy5jb250YWlucyhpZGVudGlmaWVyKSk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlv
bnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUobmV3Q29ubmVjdGlvbikpOwogCi0gICAgY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShpcGNDb25uZWN0aW9uLT5zZWNvbmQpKTsKKyAgICBjb21wbGV0
aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25JZGVudGlmaWVycy0+Y2xpZW50KSk7CiB9CiAK
IHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpyZW1vdmVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MoV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcApp
bmRleCBjNjIyOGQ4NjE4ZTY1ZWZiOWQwMDYyZjJmNTdmZmExMWI3Yjg5NGY0Li4zYjc4MDE3NzY5
NzgzNmIxMDQyMmM5YmQ1ODA2ZWE0ZjJhZDkxMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcApAQCAtOTgsMzggKzk4
LDIxIEBAIHZvaWQgV2ViSW5zcGVjdG9yVUk6OnVwZGF0ZUNvbm5lY3Rpb24oKQogICAgICAgICBt
X2JhY2tlbmRDb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7CiAgICAgICAgIG1fYmFja2VuZENvbm5l
Y3Rpb24gPSBudWxscHRyOwogICAgIH0KKyAgICBhdXRvIGNvbm5lY3Rpb25JZGVudGlmaWVycyA9
IElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlvbklkZW50aWZpZXJQYWlyKCk7CisgICAg
aWYgKCFjb25uZWN0aW9uSWRlbnRpZmllcnMpCisgICAgICAgIHJldHVybjsKIAotI2lmIFVTRShV
TklYX0RPTUFJTl9TT0NLRVRTKQotICAgIElQQzo6Q29ubmVjdGlvbjo6U29ja2V0UGFpciBzb2Nr
ZXRQYWlyID0gSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVQbGF0Zm9ybUNvbm5lY3Rpb24oKTsKLSAg
ICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIoc29ja2V0
UGFpci5zZXJ2ZXIpOwotICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uSWRlbnRpZmllcik7Ci0g
ICAgSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25DbGllbnRQb3J0KHNvY2tldFBhaXIuY2xpZW50
KTsKLSNlbGlmIE9TKERBUldJTikKLSAgICBtYWNoX3BvcnRfdCBsaXN0ZW5pbmdQb3J0ID0gTUFD
SF9QT1JUX05VTEw7Ci0gICAgaWYgKG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigp
LCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxpc3RlbmluZ1BvcnQpICE9IEtFUk5fU1VDQ0VT
UykKLSAgICAgICAgQ1JBU0goKTsKLQorI2lmIE9TKERBUldJTikKKyAgICAvLyBGSVhNRTogV2h5
IGlzIHRoaXMgaGVyZSBhbmQgbm90IGluIElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlv
bklkZW50aWZpZXJQYWlyPworICAgIG1hY2hfcG9ydF90IGxpc3RlbmluZ1BvcnQgPSBjb25uZWN0
aW9uSWRlbnRpZmllcnMtPnNlcnZlci5wb3J0OwogICAgIGlmIChtYWNoX3BvcnRfaW5zZXJ0X3Jp
Z2h0KG1hY2hfdGFza19zZWxmKCksIGxpc3RlbmluZ1BvcnQsIGxpc3RlbmluZ1BvcnQsIE1BQ0hf
TVNHX1RZUEVfTUFLRV9TRU5EKSAhPSBLRVJOX1NVQ0NFU1MpCiAgICAgICAgIENSQVNIKCk7Ci0K
LSAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIobGlz
dGVuaW5nUG9ydCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAg
ICBJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkNsaWVudFBvcnQobGlzdGVuaW5nUG9ydCwgTUFD
SF9NU0dfVFlQRV9NT1ZFX1NFTkQpOwotI2VsaWYgUExBVEZPUk0oV0lOKQotICAgIElQQzo6Q29u
bmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgY29ubkNsaWVudDsKLSAg
ICBJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKGNvbm5l
Y3Rpb25JZGVudGlmaWVyLCBjb25uQ2xpZW50KTsKLSAgICBJUEM6OkF0dGFjaG1lbnQgY29ubmVj
dGlvbkNsaWVudFBvcnQoY29ubkNsaWVudCk7Ci0jZWxzZQotICAgIG5vdEltcGxlbWVudGVkKCk7
Ci0gICAgcmV0dXJuOwogI2VuZGlmCiAKLSNpZiBVU0UoVU5JWF9ET01BSU5fU09DS0VUUykgfHwg
T1MoREFSV0lOKSB8fCBQTEFURk9STShXSU4pCi0gICAgbV9iYWNrZW5kQ29ubmVjdGlvbiA9IElQ
Qzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmll
ciwgKnRoaXMpOworICAgIG1fYmFja2VuZENvbm5lY3Rpb24gPSBJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXJzLT5zZXJ2ZXIsICp0aGlz
KTsKICAgICBtX2JhY2tlbmRDb25uZWN0aW9uLT5vcGVuKCk7Ci0jZW5kaWYKIAotICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2Fn
ZXM6OldlYkluc3BlY3RvclVJUHJveHk6OlNldEZyb250ZW5kQ29ubmVjdGlvbihjb25uZWN0aW9u
Q2xpZW50UG9ydCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOworICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Oldl
Ykluc3BlY3RvclVJUHJveHk6OlNldEZyb250ZW5kQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRp
ZmllcnMtPmNsaWVudCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwogfQogCiB2b2lkIFdl
Ykluc3BlY3RvclVJOjp3aW5kb3dPYmplY3RDbGVhcmVkKCkK
</data>
<flag name="commit-queue"
          id="484194"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456024</attachid>
            <date>2022-03-29 07:40:36 -0700</date>
            <delta_ts>2022-03-29 09:38:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238504-20220329174035.patch</filename>
            <type>text/plain</type>
            <size>16389</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZDg5NThhMDlkZjY3ZTJj
MWEzNGI3Njk3NmY3YjE3MTE3NGY4OTQuLmFhMmI0ZmVjYTUzMDQ1OWRlMWM1ZDQwNzA4MzBkYjhm
ZjZhNDI1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDMtMjkgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEF1eGlsaWFyeVBy
b2Nlc3M6OmNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyIHRvIElQQzo6Q29ubmVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTA0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBjb25uZWN0aW9u
IHBvcnQvc29ja2V0L3BpcGUgcGFpciBjcmVhdGlvbiBmdW5jdGlvbiBmcm9tIEF1eGlsaWFyeVBy
b2Nlc3MKKyAgICAgICAgdG8gSVBDOjpDb25uZWN0aW9uLiBUaGlzIHdheSBvdGhlciBjb21wb25l
bnRzIHRoYW4gQXV4aWxpYXJ5UHJvY2VzcyBzdWJjbGFzc2VzCisgICAgICAgIGNhbiBjcmVhdGUg
YW5kIHNlbmQgbmV3IGNvbm5lY3Rpb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0
b3IuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVQcm9jZXNzOjpjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoSVBDOjpDb25u
ZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIpOgorICAgICAgICAqIFBsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5l
Y3Rpb25Db2NvYS5tbToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlv
bklkZW50aWZpZXJQYWlyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9u
VW5peC5jcHA6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcik6CisgICAgICAgICogUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNw
cDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlvbklkZW50aWZpZXJQ
YWlyKToKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpjcmVh
dGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yVUk6OnVwZGF0ZUNvbm5lY3Rpb24pOgorCiAyMDIyLTAzLTI4ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgY3VzdG9tIHN0b3JhZ2UgcGF0aHMg
Zm9yIEluZGV4ZWREQiBhbmQgTG9jYWxTdG9yYWdlIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBhOTM3OTY1ZDEyODU3NTE2ODUxYjM2ZTcxM2U2
NTFlMGRhMmQ4YWU1Li4wMmJlZjNhYjRhNTQwY2VhYjQ1ODFjMTQ2MGY0Zjc1MzNiNTYwMmViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0xMTgsMTMgKzExOCwx
MyBAQCB2b2lkIEdQVVByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZQogdm9pZCBHUFVQcm9jZXNzOjpjcmVhdGVHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0
ZXJzJiYgcGFyYW1ldGVycywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPElQ
Qzo6QXR0YWNobWVudD4mJiwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Jbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
cywgIiVwIC0gR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczogcHJv
Y2Vzc0lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBpZGVudGlmaWVyLnRvVUludDY0KCkpOwot
ICAgIGF1dG8gaXBjQ29ubmVjdGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAg
aWYgKCFpcGNDb25uZWN0aW9uKSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJ
UEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlm
ICghY29ubmVjdGlvbklkZW50aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSwgeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gbmV3Q29ubmVjdGlv
biA9IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwg
aXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCwgV1RGTW92ZShwYXJhbWV0ZXJzKSk7Cisg
ICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
KCp0aGlzLCBpZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlciwgc2Vzc2lv
bklELCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWZhY3RvciBjb2RlIHRvIGdvIGZyb20gV2ViUHJvY2Vz
cyAtPiBHUFVQcm9jZXNzIC0+IFVJUHJvY2VzcyB3aGVuIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQg
aW5zdGVhZCBvZiBnb2luZyBmcm9tIFdlYlByb2Nlc3MgLT4gVUlQcm9jZXNzIGRpcmVjdGx5LgpA
QCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBpZGVuCiAjaWYgRU5BQkxFKFZQ
OSkKICAgICBjb25uZWN0aW9uUGFyYW1ldGVycy5oYXNWUDlIYXJkd2FyZURlY29kZXIgPSBXZWJD
b3JlOjp2cDlIYXJkd2FyZURlY29kZXJBdmFpbGFibGUoKTsKICNlbmRpZgotICAgIGNvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUoaXBjQ29ubmVjdGlvbi0+c2Vjb25kKSwgV1RGTW92ZShjb25uZWN0
aW9uUGFyYW1ldGVycykpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29ubmVjdGlv
bklkZW50aWZpZXJzLT5jbGllbnQpLCBXVEZNb3ZlKGNvbm5lY3Rpb25QYXJhbWV0ZXJzKSk7CiB9
CiAKIHZvaWQgR1BVUHJvY2Vzczo6cmVtb3ZlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA1ODlkMTY2MzQxMmNmMzRlMzBj
ZTAxNjAzNGViYTNhZjg2NDQyZWFlLi44OWE2OTFlZjY3MGJmZTdjZmViYmUwMTliZTllZTcyYzVl
Y2JkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcApAQCAtMzY4LDIwICszNjgsMjAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlh
bGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogCiB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYsIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gaXBjQ29ubmVj
dGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAgaWYgKCFpcGNDb25uZWN0aW9u
KSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlmICghY29ubmVjdGlvbklkZW50
aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeTo6TmV2ZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdD
b25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywg
aWRlbnRpZmllciwgc2Vzc2lvbklELCBpcGNDb25uZWN0aW9uLT5maXJzdCk7CisgICAgYXV0byBu
ZXdDb25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhp
cywgaWRlbnRpZmllciwgc2Vzc2lvbklELCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlcik7
CiAgICAgYXV0byYgY29ubmVjdGlvbiA9IG5ld0Nvbm5lY3Rpb24uZ2V0KCk7CiAKICAgICBBU1NF
UlQoIW1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKICAgICBt
X3dlYlByb2Nlc3NDb25uZWN0aW9ucy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShuZXdDb25uZWN0
aW9uKSk7CiAKICAgICBhdXRvKiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKTsK
LSAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGlwY0Nvbm5lY3Rpb24tPnNlY29uZCksIHN0
b3JhZ2UgPyBzdG9yYWdlLT5jb29raWVBY2NlcHRQb2xpY3koKSA6IEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6Ok5ldmVyKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25J
ZGVudGlmaWVycy0+Y2xpZW50KSwgc3RvcmFnZSA/IHN0b3JhZ2UtPmNvb2tpZUFjY2VwdFBvbGlj
eSgpIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIpOwogCiAgICAgY29ubmVjdGlvbi5z
ZXRPbkxpbmVTdGF0ZShOZXR3b3JrU3RhdGVOb3RpZmllcjo6c2luZ2xldG9uKCkub25MaW5lKCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IGI3NDlk
NmY2YzIzODVjZmU1ZTAwYWU4MTFiMjk1NWJkZmY4M2YyMWMuLjdiN2UwOWQwYWRiNTQ0ZjRiZGM1
ODc3Y2Y1MmYxYmY4OTdjYjJhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uY3BwCkBAIC0xMzAxLDQgKzEzMDEsMTIgQEAgdm9pZCBDb25uZWN0aW9uOjp3YWtlVXBS
dW5Mb29wKCkKICAgICBSdW5Mb29wOjptYWluKCkud2FrZVVwKCk7CiB9CiAKKyNpZiAhVVNFKFVO
SVhfRE9NQUlOX1NPQ0tFVFMpICYmICFPUyhEQVJXSU4pICYmICFPUyhXSU5ET1dTKQorc3RkOjpv
cHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246
OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDk0ZjhkNzk2
NzkzZWUzZjZjM2FhNjVhOWE0MWQ3ODdlODExODdhNWEuLmIzMTVkOThlZWNlNTJjOWIyYTM4NWVl
YjFjNzQ3YzY0MWUzMzMwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKQEAgLTIwNSw2ICsyMDUsMTMgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJlZjxDb25uZWN0
aW9uPiBjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKElkZW50aWZpZXIsIENsaWVudCYpOwogICAgIHN0
YXRpYyBSZWY8Q29ubmVjdGlvbj4gY3JlYXRlQ2xpZW50Q29ubmVjdGlvbihJZGVudGlmaWVyLCBD
bGllbnQmKTsKKworICAgIHN0cnVjdCBDb25uZWN0aW9uSWRlbnRpZmllclBhaXIgeworICAgICAg
ICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVyOworICAgICAgICBJUEM6OkF0dGFj
aG1lbnQgY2xpZW50OworICAgIH07CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q29ubmVjdGlv
bklkZW50aWZpZXJQYWlyPiBjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKTsKKwogICAg
IH5Db25uZWN0aW9uKCk7CiAKICAgICBDbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9D
b25uZWN0aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9Db25u
ZWN0aW9uQ29jb2EubW0KaW5kZXggYTNhNWY0OTk1NmJmMTVjZjgwZGYzMjcyOGUxMzM3YjRkZTk5
ODk2Yy4uOTQ3MjM1MGY4NWY0OWQ1Y2JiYjI0MzQ3ZDU5M2JlYjg2MjE0YzgzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2EvQ29ubmVjdGlvbkNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQpA
QCAtNjU3LDUgKzY1NywyMCBAQCBwaWRfdCBDb25uZWN0aW9uOjpyZW1vdGVQcm9jZXNzSUQoKSBj
b25zdAogCiAgICAgcmV0dXJuIHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9u
LmdldCgpKTsKIH0KLSAgICAKKworc3RkOjpvcHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9u
SWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFp
cigpCit7CisgICAgLy8gQ3JlYXRlIHRoZSBsaXN0ZW5pbmcgcG9ydC4KKyAgICBtYWNoX3BvcnRf
dCBsaXN0ZW5pbmdQb3J0ID0gTUFDSF9QT1JUX05VTEw7CisgICAgYXV0byBrciA9IG1hY2hfcG9y
dF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxp
c3RlbmluZ1BvcnQpOworICAgIGlmIChrciAhPSBLRVJOX1NVQ0NFU1MpIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJyb3IgJXgiLCBrcik7
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorICAgIGlmICghTUFDSF9QT1JU
X1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXI6IENvdWxkIG5v
dCBhbGxvY2F0ZSBtYWNoIHBvcnQsIHJldHVybmVkIHBvcnQgd2FzIGludmFsaWQiKTsKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB9CisgICAgcmV0dXJuIENvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpciB7IENvbm5lY3Rpb246OklkZW50aWZpZXIgeyBsaXN0ZW5pbmdQb3J0IH0sIEF0
dGFjaG1lbnQgeyBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCB9IH07Cit9
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
dW5peC9Db25uZWN0aW9uVW5peC5jcHAKaW5kZXggMTFkMzZhM2I3ZDUyNDUyNjc1YzRiNGU0NDNh
YTQ0YmFlZDdiZTljMy4uMzExY2IxYzIyYmQ2OTgyZDAxMDMzNWFkODJkZjI4ZTA1YjE1N2I3MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKQEAgLTYzNSw0ICs2MzUsOSBAQCB2b2lkIENvbm5lY3Rpb246OmRpZFJlY2VpdmVTeW5j
UmVwbHkoT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPikKIHsKIH0KIAorc3RkOjpvcHRpb25hbDxD
b25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNv
bm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgQ29ubmVjdGlvbjo6U29ja2V0UGFpciBz
b2NrZXRQYWlyID0gQ29ubmVjdGlvbjo6Y3JlYXRlUGxhdGZvcm1Db25uZWN0aW9uKCk7CisgICAg
cmV0dXJuIChzb2NrZXRQYWlyLnNlcnZlciwgQXR0YWNobWVudCB7IHNvY2tldFBhaXIuY2xpZW50
IH0pOworfQogfSAvLyBuYW1lc3BhY2UgSVBDCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Bs
YXRmb3JtL0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAKaW5kZXggZGE4ZDdmMGZiOGVjMDdmNThlNjgxZDhh
Yjg5MmE4Mjk3ZDM2ODhhNC4uNmViNWZiYzBhODZmOTQ0MWNkZTczMWFjNjE0ZWY3ZjQxZTY1ODQ2
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25X
aW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2lu
LmNwcApAQCAtMzYwLDQgKzM2MCwxNCBAQCB2b2lkIENvbm5lY3Rpb246OkV2ZW50TGlzdGVuZXI6
OmNsb3NlKCkKICAgICBtX2hhbmRsZXIgPSBGdW5jdGlvbjx2b2lkKCk+KCk7CiB9CiAKK3N0ZDo6
b3B0aW9uYWw8Q29ubmVjdGlvbjo6Q29ubmVjdGlvbklkZW50aWZpZXJQYWlyPiBDb25uZWN0aW9u
OjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKQoreworICAgIENvbm5lY3Rpb246Oklk
ZW50aWZpZXIgc2VydmVySWRlbnRpZmllciwgY2xpZW50SWRlbnRpZmllcjsKKyAgICBpZiAoIUNv
bm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKHNlcnZlcklkZW50aWZp
ZXIsIGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNy
ZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVudGlmaWVycyIpOworICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworICAgIH0KKyAgICByZXR1cm4gQ29ubmVjdGlvbklkZW50aWZpZXJQYWlyIHsg
c2VydmVySWRlbnRpZmllciwgQXR0YWNobWVudCB7IGNsaWVudElkZW50aWZpZXIgfSB9OworfQor
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1
eGlsaWFyeVByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKaW5kZXggOWUzNzk2YjdiM2JlM2MxYTNhZjQ5OTdkNzU2ZjQyYmQyODczNDJjMS4uZDNi
Mzg3M2ZlMmFhMzRmMjZmOTNiNDEwOWJlNzFmYTZhODBhZTlhZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAgLTIwOSwzNyArMjA5LDYgQEAgdm9pZCBBdXhp
bGlhcnlQcm9jZXNzOjpzaHV0RG93bigpCiAgICAgdGVybWluYXRlKCk7CiB9CiAKLXN0ZDo6b3B0
aW9uYWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2ht
ZW50Pj4gQXV4aWxpYXJ5UHJvY2Vzczo6Y3JlYXRlSVBDQ29ubmVjdGlvblBhaXIoKQotewotI2lm
IFVTRShVTklYX0RPTUFJTl9TT0NLRVRTKQotICAgIElQQzo6Q29ubmVjdGlvbjo6U29ja2V0UGFp
ciBzb2NrZXRQYWlyID0gSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVQbGF0Zm9ybUNvbm5lY3Rpb24o
KTsKLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoc29ja2V0UGFpci5zZXJ2ZXIsIElQQzo6QXR0
YWNobWVudCB7IHNvY2tldFBhaXIuY2xpZW50IH0pOwotI2VsaWYgT1MoREFSV0lOKQotICAgIC8v
IENyZWF0ZSB0aGUgbGlzdGVuaW5nIHBvcnQuCi0gICAgbWFjaF9wb3J0X3QgbGlzdGVuaW5nUG9y
dCA9IE1BQ0hfUE9SVF9OVUxMOwotICAgIGF1dG8ga3IgPSBtYWNoX3BvcnRfYWxsb2NhdGUobWFj
aF90YXNrX3NlbGYoKSwgTUFDSF9QT1JUX1JJR0hUX1JFQ0VJVkUsICZsaXN0ZW5pbmdQb3J0KTsK
LSAgICBpZiAoa3IgIT0gS0VSTl9TVUNDRVNTKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9S
KFByb2Nlc3MsICJBdXhpbGlhcnlQcm9jZXNzOjpjcmVhdGVJUENDb25uZWN0aW9uUGFpcjogQ291
bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJyb3IgJXgiLCBrcik7Ci0gICAgICAgIENSQVNI
KCk7Ci0gICAgfQotICAgIGlmICghTUFDSF9QT1JUX1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7Ci0g
ICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJBdXhpbGlhcnlQcm9jZXNzOjpjcmVh
dGVJUENDb25uZWN0aW9uUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgcmV0dXJu
ZWQgcG9ydCB3YXMgaW52YWxpZCIpOwotICAgICAgICBDUkFTSCgpOwotICAgIH0KLSAgICByZXR1
cm4gc3RkOjptYWtlX3BhaXIoSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHsgbGlzdGVuaW5n
UG9ydCB9LCBJUEM6OkF0dGFjaG1lbnQgeyBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01B
S0VfU0VORCB9KTsKLSNlbGlmIE9TKFdJTkRPV1MpCi0gICAgSVBDOjpDb25uZWN0aW9uOjpJZGVu
dGlmaWVyIHNlcnZlcklkZW50aWZpZXIsIGNsaWVudElkZW50aWZpZXI7Ci0gICAgaWYgKCFJUEM6
OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKHNlcnZlcklkZW50
aWZpZXIsIGNsaWVudElkZW50aWZpZXIpKSB7Ci0gICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRv
IGNyZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVudGlmaWVycyIpOwotICAgICAgICBDUkFTSCgp
OwotICAgIH0KLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoc2VydmVySWRlbnRpZmllciwgSVBD
OjpBdHRhY2htZW50IHsgY2xpZW50SWRlbnRpZmllciB9KTsKLSNlbHNlCi0gICAgbm90SW1wbGVt
ZW50ZWQoKTsKLSAgICByZXR1cm4geyB9OwotI2VuZGlmCi19Ci0KIHZvaWQgQXV4aWxpYXJ5UHJv
Y2Vzczo6YXBwbHlQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzKGNvbnN0IEF1eGlsaWFyeVByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRCB8
fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nl
c3MuaAppbmRleCAyMjI4MzhiZTYxNmYyMjM2OGUwM2UyNDY1ZDA3N2U5MGJiNWNhNDUwLi45MmI3
ODI5ODU5M2MzMmM5NWNlN2M3MmRlYjhlNzcxZTg2MTE2YTU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0xMzQsOCArMTM0LDYgQEAgcHJvdGVjdGVkOgogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lbW9yeVByZXNzdXJlRXZlbnQoYm9vbCBpc0NyaXRpY2FsKTsKICNl
bmRpZgogCi0gICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2htZW50Pj4gY3JlYXRlSVBDQ29ubmVjdGlvblBhaXIo
KTsKLQogcHJvdGVjdGVkOgogI2lmIEVOQUJMRShDRlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIHN0
YXRpYyBpZCBkZWNvZGVQcmVmZXJlbmNlVmFsdWUoY29uc3Qgc3RkOjpvcHRpb25hbDxTdHJpbmc+
JiBlbmNvZGVkVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nl
c3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dl
YkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggZGNjNWVlNTkzNmQyM2JhZWZmNTM0NTk1MTY2MDA5NmQ1
NjZiODA0MC4uNTJlODQzYWNiOGZkZDdiMzM5NTViNTU0MjU0MzZhZTRjNWQxMzk4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJvY2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBA
IC01MSwxOCArNTEsMTggQEAgV2ViQXV0aG5Qcm9jZXNzOjp+V2ViQXV0aG5Qcm9jZXNzKCkKIAog
dm9pZCBXZWJBdXRoblByb2Nlc3M6OmNyZWF0ZVdlYkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsK
LSAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVhdGVJUENDb25uZWN0aW9uUGFpcigpOwotICAg
IGlmICghaXBjQ29ubmVjdGlvbikgeworICAgIGF1dG8gY29ubmVjdGlvbklkZW50aWZpZXJzID0g
SVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKTsKKyAgICBp
ZiAoIWNvbm5lY3Rpb25JZGVudGlmaWVycykgewogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7
IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdDb25uZWN0aW9uID0g
V2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGUoKnRoaXMsIGlkZW50aWZpZXIs
IGlwY0Nvbm5lY3Rpb24tPmZpcnN0KTsKKyAgICBhdXRvIG5ld0Nvbm5lY3Rpb24gPSBXZWJBdXRo
bkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwgY29ubmVj
dGlvbklkZW50aWZpZXJzLT5zZXJ2ZXIpOwogCiAgICAgQVNTRVJUKCFtX3dlYlByb2Nlc3NDb25u
ZWN0aW9ucy5jb250YWlucyhpZGVudGlmaWVyKSk7CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlv
bnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUobmV3Q29ubmVjdGlvbikpOwogCi0gICAgY29tcGxl
dGlvbkhhbmRsZXIoV1RGTW92ZShpcGNDb25uZWN0aW9uLT5zZWNvbmQpKTsKKyAgICBjb21wbGV0
aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25JZGVudGlmaWVycy0+Y2xpZW50KSk7CiB9CiAK
IHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpyZW1vdmVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MoV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luc3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcApp
bmRleCBjNjIyOGQ4NjE4ZTY1ZWZiOWQwMDYyZjJmNTdmZmExMWI3Yjg5NGY0Li4xMGFhMjRmYjk5
OGFkMjkzOGI1N2YxYzNjNDM1NTA5MmVhYzM5YWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcApAQCAtOTgsMzggKzk4
LDE0IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUk6OnVwZGF0ZUNvbm5lY3Rpb24oKQogICAgICAgICBt
X2JhY2tlbmRDb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7CiAgICAgICAgIG1fYmFja2VuZENvbm5l
Y3Rpb24gPSBudWxscHRyOwogICAgIH0KKyAgICBhdXRvIGNvbm5lY3Rpb25JZGVudGlmaWVycyA9
IElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlvbklkZW50aWZpZXJQYWlyKCk7CisgICAg
aWYgKCFjb25uZWN0aW9uSWRlbnRpZmllcnMpCisgICAgICAgIHJldHVybjsKIAotI2lmIFVTRShV
TklYX0RPTUFJTl9TT0NLRVRTKQotICAgIElQQzo6Q29ubmVjdGlvbjo6U29ja2V0UGFpciBzb2Nr
ZXRQYWlyID0gSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVQbGF0Zm9ybUNvbm5lY3Rpb24oKTsKLSAg
ICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIoc29ja2V0
UGFpci5zZXJ2ZXIpOwotICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uSWRlbnRpZmllcik7Ci0g
ICAgSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25DbGllbnRQb3J0KHNvY2tldFBhaXIuY2xpZW50
KTsKLSNlbGlmIE9TKERBUldJTikKLSAgICBtYWNoX3BvcnRfdCBsaXN0ZW5pbmdQb3J0ID0gTUFD
SF9QT1JUX05VTEw7Ci0gICAgaWYgKG1hY2hfcG9ydF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigp
LCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxpc3RlbmluZ1BvcnQpICE9IEtFUk5fU1VDQ0VT
UykKLSAgICAgICAgQ1JBU0goKTsKLQotICAgIGlmIChtYWNoX3BvcnRfaW5zZXJ0X3JpZ2h0KG1h
Y2hfdGFza19zZWxmKCksIGxpc3RlbmluZ1BvcnQsIGxpc3RlbmluZ1BvcnQsIE1BQ0hfTVNHX1RZ
UEVfTUFLRV9TRU5EKSAhPSBLRVJOX1NVQ0NFU1MpCi0gICAgICAgIENSQVNIKCk7Ci0KLSAgICBJ
UEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIobGlzdGVuaW5n
UG9ydCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbm5lY3Rpb25JZGVudGlmaWVyKTsKLSAgICBJUEM6
OkF0dGFjaG1lbnQgY29ubmVjdGlvbkNsaWVudFBvcnQobGlzdGVuaW5nUG9ydCwgTUFDSF9NU0df
VFlQRV9NT1ZFX1NFTkQpOwotI2VsaWYgUExBVEZPUk0oV0lOKQotICAgIElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllciwgY29ubkNsaWVudDsKLSAgICBJUEM6
OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKGNvbm5lY3Rpb25J
ZGVudGlmaWVyLCBjb25uQ2xpZW50KTsKLSAgICBJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkNs
aWVudFBvcnQoY29ubkNsaWVudCk7Ci0jZWxzZQotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAg
cmV0dXJuOwotI2VuZGlmCi0KLSNpZiBVU0UoVU5JWF9ET01BSU5fU09DS0VUUykgfHwgT1MoREFS
V0lOKSB8fCBQTEFURk9STShXSU4pCi0gICAgbV9iYWNrZW5kQ29ubmVjdGlvbiA9IElQQzo6Q29u
bmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllciwgKnRo
aXMpOworICAgIG1fYmFja2VuZENvbm5lY3Rpb24gPSBJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNl
cnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXJzLT5zZXJ2ZXIsICp0aGlzKTsKICAg
ICBtX2JhY2tlbmRDb25uZWN0aW9uLT5vcGVuKCk7Ci0jZW5kaWYKIAotICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Oldl
Ykluc3BlY3RvclVJUHJveHk6OlNldEZyb250ZW5kQ29ubmVjdGlvbihjb25uZWN0aW9uQ2xpZW50
UG9ydCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOworICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3Bl
Y3RvclVJUHJveHk6OlNldEZyb250ZW5kQ29ubmVjdGlvbihjb25uZWN0aW9uSWRlbnRpZmllcnMt
PmNsaWVudCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZpZXIpOwogfQogCiB2b2lkIFdlYkluc3Bl
Y3RvclVJOjp3aW5kb3dPYmplY3RDbGVhcmVkKCkK
</data>
<flag name="commit-queue"
          id="484203"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456032</attachid>
            <date>2022-03-29 09:34:58 -0700</date>
            <delta_ts>2022-03-30 02:49:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238504-20220329193456.patch</filename>
            <type>text/plain</type>
            <size>16416</size>
            <attacher name="Kimmo Kinnunen">kkinnunen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNiZDg5NThhMDlkZjY3ZTJj
MWEzNGI3Njk3NmY3YjE3MTE3NGY4OTQuLmFhMmI0ZmVjYTUzMDQ1OWRlMWM1ZDQwNzA4MzBkYjhm
ZjZhNDI1YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDMtMjkgIEtpbW1vIEtp
bm51bmVuICA8a2tpbm51bmVuQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIEF1eGlsaWFyeVBy
b2Nlc3M6OmNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyIHRvIElQQzo6Q29ubmVjdGlvbgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NTA0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBjb25uZWN0aW9u
IHBvcnQvc29ja2V0L3BpcGUgcGFpciBjcmVhdGlvbiBmdW5jdGlvbiBmcm9tIEF1eGlsaWFyeVBy
b2Nlc3MKKyAgICAgICAgdG8gSVBDOjpDb25uZWN0aW9uLiBUaGlzIHdheSBvdGhlciBjb21wb25l
bnRzIHRoYW4gQXV4aWxpYXJ5UHJvY2VzcyBzdWJjbGFzc2VzCisgICAgICAgIGNhbiBjcmVhdGUg
YW5kIHNlbmQgbmV3IGNvbm5lY3Rpb25zLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgcmVmYWN0
b3IuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpHUFVQcm9jZXNzOjpjcmVhdGVHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoSVBDOjpDb25u
ZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIpOgorICAgICAgICAqIFBsYXRm
b3JtL0lQQy9Db25uZWN0aW9uLmg6CisgICAgICAgICogUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5l
Y3Rpb25Db2NvYS5tbToKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlv
bklkZW50aWZpZXJQYWlyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9u
VW5peC5jcHA6CisgICAgICAgIChJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcik6CisgICAgICAgICogUGxhdGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNw
cDoKKyAgICAgICAgKElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVjdGlvbklkZW50aWZpZXJQ
YWlyKToKKyAgICAgICAgKiBTaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHA6CisgICAgICAgICog
U2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJBdXRoblByb2Nlc3MvV2Vi
QXV0aG5Qcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0aG5Qcm9jZXNzOjpjcmVh
dGVXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5zcGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSW5zcGVj
dG9yVUk6OnVwZGF0ZUNvbm5lY3Rpb24pOgorCiAyMDIyLTAzLTI4ICBTaWh1aSBMaXUgIDxzaWh1
aV9saXVAYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUgY3VzdG9tIHN0b3JhZ2UgcGF0aHMg
Zm9yIEluZGV4ZWREQiBhbmQgTG9jYWxTdG9yYWdlIGJ5IGRlZmF1bHQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BV
UHJvY2Vzcy9HUFVQcm9jZXNzLmNwcAppbmRleCBhOTM3OTY1ZDEyODU3NTE2ODUxYjM2ZTcxM2U2
NTFlMGRhMmQ4YWU1Li4wMmJlZjNhYjRhNTQwY2VhYjQ1ODFjMTQ2MGY0Zjc1MzNiNTYwMmViIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVVByb2Nlc3MuY3BwCkBAIC0xMTgsMTMgKzExOCwx
MyBAQCB2b2lkIEdQVVByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZQogdm9pZCBHUFVQcm9jZXNzOjpjcmVhdGVHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25QYXJhbWV0
ZXJzJiYgcGFyYW1ldGVycywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPElQ
Qzo6QXR0YWNobWVudD4mJiwgR1BVUHJvY2Vzc0Nvbm5lY3Rpb25Jbml0aWFsaXphdGlvblBhcmFt
ZXRlcnMmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgUkVMRUFTRV9MT0coUHJvY2Vz
cywgIiVwIC0gR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzczogcHJv
Y2Vzc0lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBpZGVudGlmaWVyLnRvVUludDY0KCkpOwot
ICAgIGF1dG8gaXBjQ29ubmVjdGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAg
aWYgKCFpcGNDb25uZWN0aW9uKSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJ
UEM6OkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlm
ICghY29ubmVjdGlvbklkZW50aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSwgeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGF1dG8gbmV3Q29ubmVjdGlv
biA9IEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywgaWRlbnRpZmllciwg
aXBjQ29ubmVjdGlvbi0+Zmlyc3QsIHNlc3Npb25JRCwgV1RGTW92ZShwYXJhbWV0ZXJzKSk7Cisg
ICAgYXV0byBuZXdDb25uZWN0aW9uID0gR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
KCp0aGlzLCBpZGVudGlmaWVyLCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlciwgc2Vzc2lv
bklELCBXVEZNb3ZlKHBhcmFtZXRlcnMpKTsKIAogI2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCiAg
ICAgLy8gRklYTUU6IFdlIHNob3VsZCByZWZhY3RvciBjb2RlIHRvIGdvIGZyb20gV2ViUHJvY2Vz
cyAtPiBHUFVQcm9jZXNzIC0+IFVJUHJvY2VzcyB3aGVuIGdldFVzZXJNZWRpYSBpcyBjYWxsZWQg
aW5zdGVhZCBvZiBnb2luZyBmcm9tIFdlYlByb2Nlc3MgLT4gVUlQcm9jZXNzIGRpcmVjdGx5LgpA
QCAtMTQ1LDcgKzE0NSw3IEBAIHZvaWQgR1BVUHJvY2Vzczo6Y3JlYXRlR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyhXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllciBpZGVuCiAjaWYgRU5BQkxFKFZQ
OSkKICAgICBjb25uZWN0aW9uUGFyYW1ldGVycy5oYXNWUDlIYXJkd2FyZURlY29kZXIgPSBXZWJD
b3JlOjp2cDlIYXJkd2FyZURlY29kZXJBdmFpbGFibGUoKTsKICNlbmRpZgotICAgIGNvbXBsZXRp
b25IYW5kbGVyKFdURk1vdmUoaXBjQ29ubmVjdGlvbi0+c2Vjb25kKSwgV1RGTW92ZShjb25uZWN0
aW9uUGFyYW1ldGVycykpOworICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoY29ubmVjdGlv
bklkZW50aWZpZXJzLT5jbGllbnQpLCBXVEZNb3ZlKGNvbm5lY3Rpb25QYXJhbWV0ZXJzKSk7CiB9
CiAKIHZvaWQgR1BVUHJvY2Vzczo6cmVtb3ZlR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVD
b25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCA1ODlkMTY2MzQxMmNmMzRlMzBj
ZTAxNjAzNGViYTNhZjg2NDQyZWFlLi44OWE2OTFlZjY3MGJmZTdjZmViYmUwMTliZTllZTcyYzVl
Y2JkNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcApAQCAtMzY4LDIwICszNjgsMjAgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlh
bGl6ZUNvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uKiBjb25uZWN0aW9uKQogCiB2b2lkIE5ldHdv
cmtQcm9jZXNzOjpjcmVhdGVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRl
bnRpZmllciBpZGVudGlmaWVyLCBQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxJUEM6OkF0dGFjaG1lbnQ+JiYsIEhUVFBDb29raWVB
Y2NlcHRQb2xpY3kpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewotICAgIGF1dG8gaXBjQ29ubmVj
dGlvbiA9IGNyZWF0ZUlQQ0Nvbm5lY3Rpb25QYWlyKCk7Ci0gICAgaWYgKCFpcGNDb25uZWN0aW9u
KSB7CisgICAgYXV0byBjb25uZWN0aW9uSWRlbnRpZmllcnMgPSBJUEM6OkNvbm5lY3Rpb246OmNy
ZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpOworICAgIGlmICghY29ubmVjdGlvbklkZW50
aWZpZXJzKSB7CiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgfSwgSFRUUENvb2tpZUFjY2Vw
dFBvbGljeTo6TmV2ZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgYXV0byBuZXdD
b25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhpcywg
aWRlbnRpZmllciwgc2Vzc2lvbklELCBpcGNDb25uZWN0aW9uLT5maXJzdCk7CisgICAgYXV0byBu
ZXdDb25uZWN0aW9uID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZSgqdGhp
cywgaWRlbnRpZmllciwgc2Vzc2lvbklELCBjb25uZWN0aW9uSWRlbnRpZmllcnMtPnNlcnZlcik7
CiAgICAgYXV0byYgY29ubmVjdGlvbiA9IG5ld0Nvbm5lY3Rpb24uZ2V0KCk7CiAKICAgICBBU1NF
UlQoIW1fd2ViUHJvY2Vzc0Nvbm5lY3Rpb25zLmNvbnRhaW5zKGlkZW50aWZpZXIpKTsKICAgICBt
X3dlYlByb2Nlc3NDb25uZWN0aW9ucy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShuZXdDb25uZWN0
aW9uKSk7CiAKICAgICBhdXRvKiBzdG9yYWdlID0gc3RvcmFnZVNlc3Npb24oc2Vzc2lvbklEKTsK
LSAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGlwY0Nvbm5lY3Rpb24tPnNlY29uZCksIHN0
b3JhZ2UgPyBzdG9yYWdlLT5jb29raWVBY2NlcHRQb2xpY3koKSA6IEhUVFBDb29raWVBY2NlcHRQ
b2xpY3k6Ok5ldmVyKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25J
ZGVudGlmaWVycy0+Y2xpZW50KSwgc3RvcmFnZSA/IHN0b3JhZ2UtPmNvb2tpZUFjY2VwdFBvbGlj
eSgpIDogSFRUUENvb2tpZUFjY2VwdFBvbGljeTo6TmV2ZXIpOwogCiAgICAgY29ubmVjdGlvbi5z
ZXRPbkxpbmVTdGF0ZShOZXR3b3JrU3RhdGVOb3RpZmllcjo6c2luZ2xldG9uKCkub25MaW5lKCkp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5lY3Rpb24uY3BwCmluZGV4IGI3NDlk
NmY2YzIzODVjZmU1ZTAwYWU4MTFiMjk1NWJkZmY4M2YyMWMuLjdiN2UwOWQwYWRiNTQ0ZjRiZGM1
ODc3Y2Y1MmYxYmY4OTdjYjJhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uY3BwCkBAIC0xMzAxLDQgKzEzMDEsMTIgQEAgdm9pZCBDb25uZWN0aW9uOjp3YWtlVXBS
dW5Mb29wKCkKICAgICBSdW5Mb29wOjptYWluKCkud2FrZVVwKCk7CiB9CiAKKyNpZiAhVVNFKFVO
SVhfRE9NQUlOX1NPQ0tFVFMpICYmICFPUyhEQVJXSU4pICYmICFPUyhXSU5ET1dTKQorc3RkOjpv
cHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246
OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNl
IElQQwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5oCmluZGV4IDk0ZjhkNzk2
NzkzZWUzZjZjM2FhNjVhOWE0MWQ3ODdlODExODdhNWEuLmIzMTVkOThlZWNlNTJjOWIyYTM4NWVl
YjFjNzQ3YzY0MWUzMzMwYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9Db25uZWN0aW9u
LmgKQEAgLTIwNSw2ICsyMDUsMTMgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFJlZjxDb25uZWN0
aW9uPiBjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKElkZW50aWZpZXIsIENsaWVudCYpOwogICAgIHN0
YXRpYyBSZWY8Q29ubmVjdGlvbj4gY3JlYXRlQ2xpZW50Q29ubmVjdGlvbihJZGVudGlmaWVyLCBD
bGllbnQmKTsKKworICAgIHN0cnVjdCBDb25uZWN0aW9uSWRlbnRpZmllclBhaXIgeworICAgICAg
ICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVyOworICAgICAgICBJUEM6OkF0dGFj
aG1lbnQgY2xpZW50OworICAgIH07CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8Q29ubmVjdGlv
bklkZW50aWZpZXJQYWlyPiBjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXIoKTsKKwogICAg
IH5Db25uZWN0aW9uKCk7CiAKICAgICBDbGllbnQmIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1f
Y2xpZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9D
b25uZWN0aW9uQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy9jb2NvYS9Db25u
ZWN0aW9uQ29jb2EubW0KaW5kZXggYTNhNWY0OTk1NmJmMTVjZjgwZGYzMjcyOGUxMzM3YjRkZTk5
ODk2Yy4uOTQ3MjM1MGY4NWY0OWQ1Y2JiYjI0MzQ3ZDU5M2JlYjg2MjE0YzgzNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvY29jb2EvQ29ubmVjdGlvbkNvY29hLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vSVBDL2NvY29hL0Nvbm5lY3Rpb25Db2NvYS5tbQpA
QCAtNjU3LDUgKzY1NywyMCBAQCBwaWRfdCBDb25uZWN0aW9uOjpyZW1vdGVQcm9jZXNzSUQoKSBj
b25zdAogCiAgICAgcmV0dXJuIHhwY19jb25uZWN0aW9uX2dldF9waWQobV94cGNDb25uZWN0aW9u
LmdldCgpKTsKIH0KLSAgICAKKworc3RkOjpvcHRpb25hbDxDb25uZWN0aW9uOjpDb25uZWN0aW9u
SWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVudGlmaWVyUGFp
cigpCit7CisgICAgLy8gQ3JlYXRlIHRoZSBsaXN0ZW5pbmcgcG9ydC4KKyAgICBtYWNoX3BvcnRf
dCBsaXN0ZW5pbmdQb3J0ID0gTUFDSF9QT1JUX05VTEw7CisgICAgYXV0byBrciA9IG1hY2hfcG9y
dF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxp
c3RlbmluZ1BvcnQpOworICAgIGlmIChrciAhPSBLRVJOX1NVQ0NFU1MpIHsKKyAgICAgICAgUkVM
RUFTRV9MT0dfRVJST1IoUHJvY2VzcywgIkNvbm5lY3Rpb246OmNyZWF0ZUNvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJyb3IgJXgiLCBrcik7
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgfQorICAgIGlmICghTUFDSF9QT1JU
X1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7CisgICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBhaXI6IENvdWxkIG5v
dCBhbGxvY2F0ZSBtYWNoIHBvcnQsIHJldHVybmVkIHBvcnQgd2FzIGludmFsaWQiKTsKKyAgICAg
ICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICB9CisgICAgcmV0dXJuIENvbm5lY3Rpb25JZGVu
dGlmaWVyUGFpciB7IENvbm5lY3Rpb246OklkZW50aWZpZXIgeyBsaXN0ZW5pbmdQb3J0IH0sIEF0
dGFjaG1lbnQgeyBsaXN0ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCB9IH07Cit9
CiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0v
SVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMv
dW5peC9Db25uZWN0aW9uVW5peC5jcHAKaW5kZXggMTFkMzZhM2I3ZDUyNDUyNjc1YzRiNGU0NDNh
YTQ0YmFlZDdiZTljMy4uMTgxMTY5NzY1ZDhiNzUwZGQ1ZTI0ODQwNjFlNWE4M2QyMGUyYTM4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvdW5peC9Db25uZWN0aW9uVW5p
eC5jcHAKQEAgLTYzNSw0ICs2MzUsOSBAQCB2b2lkIENvbm5lY3Rpb246OmRpZFJlY2VpdmVTeW5j
UmVwbHkoT3B0aW9uU2V0PFNlbmRTeW5jT3B0aW9uPikKIHsKIH0KIAorc3RkOjpvcHRpb25hbDxD
b25uZWN0aW9uOjpDb25uZWN0aW9uSWRlbnRpZmllclBhaXI+IENvbm5lY3Rpb246OmNyZWF0ZUNv
bm5lY3Rpb25JZGVudGlmaWVyUGFpcigpCit7CisgICAgQ29ubmVjdGlvbjo6U29ja2V0UGFpciBz
b2NrZXRQYWlyID0gQ29ubmVjdGlvbjo6Y3JlYXRlUGxhdGZvcm1Db25uZWN0aW9uKCk7CisgICAg
cmV0dXJuIENvbm5lY3Rpb25JZGVudGlmaWVyUGFpciB7IHNvY2tldFBhaXIuc2VydmVyLCBBdHRh
Y2htZW50IHsgc29ja2V0UGFpci5jbGllbnQgfSB9OworfQogfSAvLyBuYW1lc3BhY2UgSVBDCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy93aW4vQ29ubmVjdGlvbldpbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL0lQQy93aW4vQ29ubmVjdGlvbldpbi5jcHAKaW5k
ZXggZGE4ZDdmMGZiOGVjMDdmNThlNjgxZDhhYjg5MmE4Mjk3ZDM2ODhhNC4uNmViNWZiYzBhODZm
OTQ0MWNkZTczMWFjNjE0ZWY3ZjQxZTY1ODQ2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9JUEMvd2luL0Nvbm5lY3Rpb25XaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvUGxh
dGZvcm0vSVBDL3dpbi9Db25uZWN0aW9uV2luLmNwcApAQCAtMzYwLDQgKzM2MCwxNCBAQCB2b2lk
IENvbm5lY3Rpb246OkV2ZW50TGlzdGVuZXI6OmNsb3NlKCkKICAgICBtX2hhbmRsZXIgPSBGdW5j
dGlvbjx2b2lkKCk+KCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8Q29ubmVjdGlvbjo6Q29ubmVjdGlv
bklkZW50aWZpZXJQYWlyPiBDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0aW9uSWRlbnRpZmllclBh
aXIoKQoreworICAgIENvbm5lY3Rpb246OklkZW50aWZpZXIgc2VydmVySWRlbnRpZmllciwgY2xp
ZW50SWRlbnRpZmllcjsKKyAgICBpZiAoIUNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENsaWVu
dElkZW50aWZpZXJzKHNlcnZlcklkZW50aWZpZXIsIGNsaWVudElkZW50aWZpZXIpKSB7CisgICAg
ICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVudGlm
aWVycyIpOworICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIH0KKyAgICByZXR1cm4g
Q29ubmVjdGlvbklkZW50aWZpZXJQYWlyIHsgc2VydmVySWRlbnRpZmllciwgQXR0YWNobWVudCB7
IGNsaWVudElkZW50aWZpZXIgfSB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBJUEMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKaW5kZXggOWUzNzk2YjdiM2JlM2MxYTNh
ZjQ5OTdkNzU2ZjQyYmQyODczNDJjMS4uZDNiMzg3M2ZlMmFhMzRmMjZmOTNiNDEwOWJlNzFmYTZh
ODBhZTlhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vz
cy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5jcHAKQEAg
LTIwOSwzNyArMjA5LDYgQEAgdm9pZCBBdXhpbGlhcnlQcm9jZXNzOjpzaHV0RG93bigpCiAgICAg
dGVybWluYXRlKCk7CiB9CiAKLXN0ZDo6b3B0aW9uYWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlv
bjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2htZW50Pj4gQXV4aWxpYXJ5UHJvY2Vzczo6Y3JlYXRl
SVBDQ29ubmVjdGlvblBhaXIoKQotewotI2lmIFVTRShVTklYX0RPTUFJTl9TT0NLRVRTKQotICAg
IElQQzo6Q29ubmVjdGlvbjo6U29ja2V0UGFpciBzb2NrZXRQYWlyID0gSVBDOjpDb25uZWN0aW9u
OjpjcmVhdGVQbGF0Zm9ybUNvbm5lY3Rpb24oKTsKLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIo
c29ja2V0UGFpci5zZXJ2ZXIsIElQQzo6QXR0YWNobWVudCB7IHNvY2tldFBhaXIuY2xpZW50IH0p
OwotI2VsaWYgT1MoREFSV0lOKQotICAgIC8vIENyZWF0ZSB0aGUgbGlzdGVuaW5nIHBvcnQuCi0g
ICAgbWFjaF9wb3J0X3QgbGlzdGVuaW5nUG9ydCA9IE1BQ0hfUE9SVF9OVUxMOwotICAgIGF1dG8g
a3IgPSBtYWNoX3BvcnRfYWxsb2NhdGUobWFjaF90YXNrX3NlbGYoKSwgTUFDSF9QT1JUX1JJR0hU
X1JFQ0VJVkUsICZsaXN0ZW5pbmdQb3J0KTsKLSAgICBpZiAoa3IgIT0gS0VSTl9TVUNDRVNTKSB7
Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nlc3MsICJBdXhpbGlhcnlQcm9jZXNzOjpj
cmVhdGVJUENDb25uZWN0aW9uUGFpcjogQ291bGQgbm90IGFsbG9jYXRlIG1hY2ggcG9ydCwgZXJy
b3IgJXgiLCBrcik7Ci0gICAgICAgIENSQVNIKCk7Ci0gICAgfQotICAgIGlmICghTUFDSF9QT1JU
X1ZBTElEKGxpc3RlbmluZ1BvcnQpKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKFByb2Nl
c3MsICJBdXhpbGlhcnlQcm9jZXNzOjpjcmVhdGVJUENDb25uZWN0aW9uUGFpcjogQ291bGQgbm90
IGFsbG9jYXRlIG1hY2ggcG9ydCwgcmV0dXJuZWQgcG9ydCB3YXMgaW52YWxpZCIpOwotICAgICAg
ICBDUkFTSCgpOwotICAgIH0KLSAgICByZXR1cm4gc3RkOjptYWtlX3BhaXIoSVBDOjpDb25uZWN0
aW9uOjpJZGVudGlmaWVyIHsgbGlzdGVuaW5nUG9ydCB9LCBJUEM6OkF0dGFjaG1lbnQgeyBsaXN0
ZW5pbmdQb3J0LCBNQUNIX01TR19UWVBFX01BS0VfU0VORCB9KTsKLSNlbGlmIE9TKFdJTkRPV1Mp
Ci0gICAgSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIHNlcnZlcklkZW50aWZpZXIsIGNsaWVu
dElkZW50aWZpZXI7Ci0gICAgaWYgKCFJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENs
aWVudElkZW50aWZpZXJzKHNlcnZlcklkZW50aWZpZXIsIGNsaWVudElkZW50aWZpZXIpKSB7Ci0g
ICAgICAgIExPR19FUlJPUigiRmFpbGVkIHRvIGNyZWF0ZSBzZXJ2ZXIgYW5kIGNsaWVudCBpZGVu
dGlmaWVycyIpOwotICAgICAgICBDUkFTSCgpOwotICAgIH0KLSAgICByZXR1cm4gc3RkOjptYWtl
X3BhaXIoc2VydmVySWRlbnRpZmllciwgSVBDOjpBdHRhY2htZW50IHsgY2xpZW50SWRlbnRpZmll
ciB9KTsKLSNlbHNlCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKLSAgICByZXR1cm4geyB9OwotI2Vu
ZGlmCi19Ci0KIHZvaWQgQXV4aWxpYXJ5UHJvY2Vzczo6YXBwbHlQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzKGNvbnN0IEF1eGlsaWFyeVByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRl
cnMpCiB7CiAjaWYgIUxPR19ESVNBQkxFRCB8fCAhUkVMRUFTRV9MT0dfRElTQUJMRUQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaCBiL1NvdXJjZS9X
ZWJLaXQvU2hhcmVkL0F1eGlsaWFyeVByb2Nlc3MuaAppbmRleCAyMjI4MzhiZTYxNmYyMjM2OGUw
M2UyNDY1ZDA3N2U5MGJiNWNhNDUwLi45MmI3ODI5ODU5M2MzMmM5NWNlN2M3MmRlYjhlNzcxZTg2
MTE2YTU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BdXhpbGlhcnlQcm9jZXNz
LmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQXV4aWxpYXJ5UHJvY2Vzcy5oCkBAIC0xMzQs
OCArMTM0LDYgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lbW9yeVByZXNzdXJl
RXZlbnQoYm9vbCBpc0NyaXRpY2FsKTsKICNlbmRpZgogCi0gICAgc3RhdGljIHN0ZDo6b3B0aW9u
YWw8c3RkOjpwYWlyPElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciwgSVBDOjpBdHRhY2htZW50
Pj4gY3JlYXRlSVBDQ29ubmVjdGlvblBhaXIoKTsKLQogcHJvdGVjdGVkOgogI2lmIEVOQUJMRShD
RlBSRUZTX0RJUkVDVF9NT0RFKQogICAgIHN0YXRpYyBpZCBkZWNvZGVQcmVmZXJlbmNlVmFsdWUo
Y29uc3Qgc3RkOjpvcHRpb25hbDxTdHJpbmc+JiBlbmNvZGVkVmFsdWUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJBdXRoblByb2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViQXV0aG5Qcm9jZXNzL1dlYkF1dGhuUHJvY2Vzcy5jcHAKaW5kZXggZGNjNWVl
NTkzNmQyM2JhZWZmNTM0NTk1MTY2MDA5NmQ1NjZiODA0MC4uNTJlODQzYWNiOGZkZDdiMzM5NTVi
NTU0MjU0MzZhZTRjNWQxMzk4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJBdXRoblBy
b2Nlc3MvV2ViQXV0aG5Qcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYkF1dGhuUHJv
Y2Vzcy9XZWJBdXRoblByb2Nlc3MuY3BwCkBAIC01MSwxOCArNTEsMTggQEAgV2ViQXV0aG5Qcm9j
ZXNzOjp+V2ViQXV0aG5Qcm9jZXNzKCkKIAogdm9pZCBXZWJBdXRoblByb2Nlc3M6OmNyZWF0ZVdl
YkF1dGhuQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhQcm9jZXNzSWRlbnRpZmllciBpZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SVBDOjpBdHRhY2htZW50PiYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKLSAgICBhdXRvIGlwY0Nvbm5lY3Rpb24gPSBjcmVh
dGVJUENDb25uZWN0aW9uUGFpcigpOwotICAgIGlmICghaXBjQ29ubmVjdGlvbikgeworICAgIGF1
dG8gY29ubmVjdGlvbklkZW50aWZpZXJzID0gSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVDb25uZWN0
aW9uSWRlbnRpZmllclBhaXIoKTsKKyAgICBpZiAoIWNvbm5lY3Rpb25JZGVudGlmaWVycykgewog
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOwogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgYXV0byBuZXdDb25uZWN0aW9uID0gV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9jZXNz
OjpjcmVhdGUoKnRoaXMsIGlkZW50aWZpZXIsIGlwY0Nvbm5lY3Rpb24tPmZpcnN0KTsKKyAgICBh
dXRvIG5ld0Nvbm5lY3Rpb24gPSBXZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZSgqdGhpcywgaWRlbnRpZmllciwgY29ubmVjdGlvbklkZW50aWZpZXJzLT5zZXJ2ZXIpOwogCiAg
ICAgQVNTRVJUKCFtX3dlYlByb2Nlc3NDb25uZWN0aW9ucy5jb250YWlucyhpZGVudGlmaWVyKSk7
CiAgICAgbV93ZWJQcm9jZXNzQ29ubmVjdGlvbnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUobmV3
Q29ubmVjdGlvbikpOwogCi0gICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShpcGNDb25uZWN0
aW9uLT5zZWNvbmQpKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGNvbm5lY3Rpb25J
ZGVudGlmaWVycy0+Y2xpZW50KSk7CiB9CiAKIHZvaWQgV2ViQXV0aG5Qcm9jZXNzOjpyZW1vdmVX
ZWJBdXRobkNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoV2ViQXV0aG5Db25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBjb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
c3BlY3Rvci9XZWJJbnNwZWN0b3JVSS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5z
cGVjdG9yL1dlYkluc3BlY3RvclVJLmNwcAppbmRleCBjNjIyOGQ4NjE4ZTY1ZWZiOWQwMDYyZjJm
NTdmZmExMWI3Yjg5NGY0Li4xMGFhMjRmYjk5OGFkMjkzOGI1N2YxYzNjNDM1NTA5MmVhYzM5YWYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYkluc3Bl
Y3RvclVJLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5zcGVjdG9yL1dlYklu
c3BlY3RvclVJLmNwcApAQCAtOTgsMzggKzk4LDE0IEBAIHZvaWQgV2ViSW5zcGVjdG9yVUk6OnVw
ZGF0ZUNvbm5lY3Rpb24oKQogICAgICAgICBtX2JhY2tlbmRDb25uZWN0aW9uLT5pbnZhbGlkYXRl
KCk7CiAgICAgICAgIG1fYmFja2VuZENvbm5lY3Rpb24gPSBudWxscHRyOwogICAgIH0KKyAgICBh
dXRvIGNvbm5lY3Rpb25JZGVudGlmaWVycyA9IElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlQ29ubmVj
dGlvbklkZW50aWZpZXJQYWlyKCk7CisgICAgaWYgKCFjb25uZWN0aW9uSWRlbnRpZmllcnMpCisg
ICAgICAgIHJldHVybjsKIAotI2lmIFVTRShVTklYX0RPTUFJTl9TT0NLRVRTKQotICAgIElQQzo6
Q29ubmVjdGlvbjo6U29ja2V0UGFpciBzb2NrZXRQYWlyID0gSVBDOjpDb25uZWN0aW9uOjpjcmVh
dGVQbGF0Zm9ybUNvbm5lY3Rpb24oKTsKLSAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIg
Y29ubmVjdGlvbklkZW50aWZpZXIoc29ja2V0UGFpci5zZXJ2ZXIpOwotICAgIFVOVVNFRF9QQVJB
TShjb25uZWN0aW9uSWRlbnRpZmllcik7Ci0gICAgSVBDOjpBdHRhY2htZW50IGNvbm5lY3Rpb25D
bGllbnRQb3J0KHNvY2tldFBhaXIuY2xpZW50KTsKLSNlbGlmIE9TKERBUldJTikKLSAgICBtYWNo
X3BvcnRfdCBsaXN0ZW5pbmdQb3J0ID0gTUFDSF9QT1JUX05VTEw7Ci0gICAgaWYgKG1hY2hfcG9y
dF9hbGxvY2F0ZShtYWNoX3Rhc2tfc2VsZigpLCBNQUNIX1BPUlRfUklHSFRfUkVDRUlWRSwgJmxp
c3RlbmluZ1BvcnQpICE9IEtFUk5fU1VDQ0VTUykKLSAgICAgICAgQ1JBU0goKTsKLQotICAgIGlm
IChtYWNoX3BvcnRfaW5zZXJ0X3JpZ2h0KG1hY2hfdGFza19zZWxmKCksIGxpc3RlbmluZ1BvcnQs
IGxpc3RlbmluZ1BvcnQsIE1BQ0hfTVNHX1RZUEVfTUFLRV9TRU5EKSAhPSBLRVJOX1NVQ0NFU1Mp
Ci0gICAgICAgIENSQVNIKCk7Ci0KLSAgICBJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29u
bmVjdGlvbklkZW50aWZpZXIobGlzdGVuaW5nUG9ydCk7Ci0gICAgVU5VU0VEX1BBUkFNKGNvbm5l
Y3Rpb25JZGVudGlmaWVyKTsKLSAgICBJUEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkNsaWVudFBv
cnQobGlzdGVuaW5nUG9ydCwgTUFDSF9NU0dfVFlQRV9NT1ZFX1NFTkQpOwotI2VsaWYgUExBVEZP
Uk0oV0lOKQotICAgIElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRp
ZmllciwgY29ubkNsaWVudDsKLSAgICBJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckFuZENs
aWVudElkZW50aWZpZXJzKGNvbm5lY3Rpb25JZGVudGlmaWVyLCBjb25uQ2xpZW50KTsKLSAgICBJ
UEM6OkF0dGFjaG1lbnQgY29ubmVjdGlvbkNsaWVudFBvcnQoY29ubkNsaWVudCk7Ci0jZWxzZQot
ICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuOwotI2VuZGlmCi0KLSNpZiBVU0UoVU5J
WF9ET01BSU5fU09DS0VUUykgfHwgT1MoREFSV0lOKSB8fCBQTEFURk9STShXSU4pCi0gICAgbV9i
YWNrZW5kQ29ubmVjdGlvbiA9IElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU2VydmVyQ29ubmVjdGlv
bihjb25uZWN0aW9uSWRlbnRpZmllciwgKnRoaXMpOworICAgIG1fYmFja2VuZENvbm5lY3Rpb24g
PSBJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50
aWZpZXJzLT5zZXJ2ZXIsICp0aGlzKTsKICAgICBtX2JhY2tlbmRDb25uZWN0aW9uLT5vcGVuKCk7
Ci0jZW5kaWYKIAotICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25u
ZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclVJUHJveHk6OlNldEZyb250ZW5k
Q29ubmVjdGlvbihjb25uZWN0aW9uQ2xpZW50UG9ydCksIG1faW5zcGVjdGVkUGFnZUlkZW50aWZp
ZXIpOworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnBhcmVudFByb2Nlc3NDb25uZWN0aW9u
KCktPnNlbmQoTWVzc2FnZXM6OldlYkluc3BlY3RvclVJUHJveHk6OlNldEZyb250ZW5kQ29ubmVj
dGlvbihjb25uZWN0aW9uSWRlbnRpZmllcnMtPmNsaWVudCksIG1faW5zcGVjdGVkUGFnZUlkZW50
aWZpZXIpOwogfQogCiB2b2lkIFdlYkluc3BlY3RvclVJOjp3aW5kb3dPYmplY3RDbGVhcmVkKCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>