<?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>226941</bug_id>
          
          <creation_ts>2021-06-11 15:21:56 -0700</creation_ts>
          <short_desc>[Cocoa] Clean up some VisionKitCore soft linking code in WebKit</short_desc>
          <delta_ts>2021-06-11 18:43:18 -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>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>aestes</cc>
    
    <cc>annulen</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jbedard</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1769088</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-11 15:21:56 -0700</bug_when>
    <thetext>.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769116</commentid>
    <comment_count>1</comment_count>
      <attachid>431241</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-11 16:24:47 -0700</bug_when>
    <thetext>Created attachment 431241
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769144</commentid>
    <comment_count>2</comment_count>
      <attachid>431241</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-06-11 18:18:37 -0700</bug_when>
    <thetext>Comment on attachment 431241
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769152</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-11 18:42:37 -0700</bug_when>
    <thetext>Committed r278804 (238761@main): &lt;https://commits.webkit.org/238761@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 431241.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1769153</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-06-11 18:43:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/79227209&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>431241</attachid>
            <date>2021-06-11 16:24:47 -0700</date>
            <delta_ts>2021-06-11 18:42:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226941-20210611162446.patch</filename>
            <type>text/plain</type>
            <size>33644</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4NzgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA5ODAxYWMz
ZmNhMWY0NzQxZDEzZjBjOTFiYzQzNTMyZDBkYTRiODllLi4wMDM1ZTk0YjlmZjljM2ExZmI4MTVh
NzUwNzgwNTNlM2Y1ZDFjZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAyMS0wNi0xMSAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAg
ICAgICBbQ29jb2FdIENsZWFuIHVwIHNvbWUgVmlzaW9uS2l0Q29yZSBzb2Z0IGxpbmtpbmcgY29k
ZSBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyNjk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1vdmUgc29mdGxpbmtpbmcgY29kZSBvdXQgb2YgaW1wbGVtZW50YXRpb24gZmlsZXMgaW4g
V2ViS2l0IChzZWUgV2ViS2l0L0NoYW5nZUxvZyBmb3IgZGV0YWlscyksIGFuZCBpbnRvCisgICAg
ICAgIGRlZGljYXRlZCBWaXNpb25LaXRDb3JlIFNQSSBhbmQgc29mdC1saW5raW5nIGhlYWRlcnMg
aW4gUEFMLgorCisgICAgICAgICogUEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcGFsL1BsYXRmb3JtTWFjLmNtYWtlOgorICAgICAgICAqIHBhbC9jb2NvYS9WaXNpb25L
aXRDb3JlU29mdExpbmsuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaC4KKyAgICAgICAgKiBwYWwvY29jb2EvVmlzaW9u
S2l0Q29yZVNvZnRMaW5rLm1tOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2Nv
Y29hL1RleHRSZWNvZ25pdGlvblV0aWxpdGllcy5oLgorICAgICAgICAqIHBhbC9zcGkvY29jb2Ev
VmlzaW9uS2l0Q29yZVNQSS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYktpdC9QbGF0Zm9ybS9z
cGkvQ29jb2EvVmlzaW9uS2l0U1BJLmguCisKIDIwMjEtMDYtMTEgIEpvbmF0aGFuIEJlZGFyZCAg
PGpiZWRhcmRAYXBwbGUuY29tPgogCiAgICAgICAgIFtNb250ZXJleV0gU3VwcG9ydCBidWlsZGlu
ZyBXZWJLaXQgKEZvbGxvdy11cCBmaXgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDA4OTI0NDZmNTczOThjMmYyYzhl
MGQ3YzljNTA0NmQ0OWIwMDg3YWQuLjg1ZTMyNmNlOWQ4M2E2ZDFmNzNiODNmNzIwMmY5Yzg2MjQx
YmJmZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMjEtMDYtMTEgIFdlbnNvbiBIc2ll
aCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBDbGVhbiB1cCBz
b21lIFZpc2lvbktpdENvcmUgc29mdCBsaW5raW5nIGNvZGUgaW4gV2ViS2l0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjY5NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgc29mdGxpbmtpbmcg
bWFjcm9zIGZyb20gc2V2ZXJhbCBmaWxlcyBpbiBXZWJLaXQ7IGluc3RlYWQsIGltcG9ydCBhbmQg
dXNlIHRoZSBuZXcgUEFMIHNvZnQtbGlua2luZyBoZWxwZXIKKyAgICAgICAgZnVuY3Rpb25zLiBB
ZGRpdGlvbmFsbHksIG1vdmUgYSBjb3VwbGUgb2Ygc3RhZ2luZyBmb3J3YXJkIGRlY2xhcmF0aW9u
cyBpbnRvIHRoZSBub24taW50ZXJuYWwgU0RLIHNlY3Rpb24gb2YgdGhlCisgICAgICAgIFZpc2lv
bktpdENvcmUgU1BJIGhlYWRlci4KKworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNv
Z25pdGlvblV0aWxpdGllcy5oOgorICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1RleHRSZWNvZ25p
dGlvblV0aWxpdGllcy5tbToKKyAgICAgICAgKFdlYktpdDo6aXNMaXZlVGV4dEVuYWJsZWQpOgor
ICAgICAgICAoV2ViS2l0Ojppc0xpdmVUZXh0QXZhaWxhYmxlQW5kRW5hYmxlZCk6CisKKyAgICAg
ICAgQWRkaXRpb25hbGx5IHJlcGxhY2UgYGlzTGl2ZVRleHRFbmFibGVkYCB3aXRoIGBpc0xpdmVU
ZXh0QXZhaWxhYmxlQW5kRW5hYmxlZGAsIGFuZCBoYXZlIGl0IGNoZWNrIGZvciB0aGUKKyAgICAg
ICAgcHJlc2VuY2Ugb2YgdGhlIFZpc2lvbktpdENvcmUgZnJhbWV3b3JrIGluIGFkZGl0aW9uIHRv
IHdoZXRoZXIgdGhlIHN5c3RlbSBmZWF0dXJlIGZsYWcgaXMgZW5hYmxlZCAoYXQgbGVhc3QsCisg
ICAgICAgIHdoZW4gYnVpbGRpbmcgd2l0aCB0aGUgaW50ZXJuYWwgU0RLKS4KKworICAgICAgICAq
IFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
d0ltcGw6OmVuc3VyZUltYWdlQW5hbHl6ZXIpOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVJbWFn
ZUFuYWx5c2lzUmVxdWVzdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpyZXF1ZXN0
VGV4dFJlY29nbml0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmNvbXB1dGVI
YXNWaXN1YWxTZWFyY2hSZXN1bHRzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVu
dFZpZXdJbnRlcmFjdGlvbi5tbToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBzZXRVcEludGVy
YWN0aW9uXSk6CisgICAgICAgICgtW1dLQ29udGVudFZpZXcgYWN0aW9uU2hlZXRBc3Npc3RhbnQ6
c2hvdWxkSW5jbHVkZVNob3dUZXh0QWN0aW9uRm9yRWxlbWVudDpdKToKKyAgICAgICAgKC1bV0tD
b250ZW50VmlldyBhY3Rpb25TaGVldEFzc2lzdGFudDpzaG91bGRJbmNsdWRlTG9va1VwSW1hZ2VB
Y3Rpb25Gb3JFbGVtZW50Ol0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGltYWdlQW5hbHl6
ZXJdKToKKyAgICAgICAgKC1bV0tDb250ZW50VmlldyBfc2V0VXBJbWFnZUFuYWx5c2lzXSk6Cisg
ICAgICAgICgtW1dLQ29udGVudFZpZXcgX3RlYXJEb3duSW1hZ2VBbmFseXNpc10pOgorICAgICAg
ICAoLVtXS0NvbnRlbnRWaWV3IGNyZWF0ZUltYWdlQW5hbHlzaXNSZXF1ZXN0OmltYWdlOmltYWdl
VVJMOl0pOgorICAgICAgICAoLVtXS0NvbnRlbnRWaWV3IGltYWdlQW5hbHlzaXNHZXN0dXJlRGlk
QmVnaW46XSk6CisKIDIwMjEtMDYtMTEgIEpvbmF0aGFuIEJlZGFyZCAgPGpiZWRhcmRAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtNb250ZXJleV0gU3VwcG9ydCBidWlsZGluZyBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9QQUwueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBi
ZWQyYjgwNzYzMzUyNzkxMjFhNDY2ZTE3OTc3OTBhMTE4Yzg0YjkzLi4xYWVhYWNjYzIyNzUzZDgz
N2JiZTUwNDVhNjVmNjYyZmUzZmNkZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
UEFMLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML1BB
TC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMDcsNiArMjA3LDggQEAKIAkJRjQ0Mjkx
NjAxRkE1MjYxRTAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNDQyOTE1RjFGQTUyNjFFMDAyQ0M5M0Ug
LyogRmlsZVNpemVGb3JtYXR0ZXIuaCAqLzsgfTsKIAkJRjQ0MjkxNjQxRkE1MjY3MDAwMkNDOTNF
IC8qIEZpbGVTaXplRm9ybWF0dGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEY0NDI5MTYyMUZBNTI2NzAwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1h
dHRlci5jcHAgKi87IH07CiAJCUY0NDI5MTY4MUZBNTI3MDUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZv
cm1hdHRlckNvY29hLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjQ0MjkxNjYxRkE1MjcwNTAwMkNDOTNFIC8qIEZpbGVTaXplRm9ybWF0dGVyQ29jb2Eu
bW0gKi87IH07CisJCUY0NkI4QzREMjY3NDA5MTgwMDdBNjU1NCAvKiBWaXNpb25LaXRDb3JlU29m
dExpbmsubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBG
NDZCOEM0QzI2NzQwOTE4MDA3QTY1NTQgLyogVmlzaW9uS2l0Q29yZVNvZnRMaW5rLm1tICovOyB9
OworCQlGNDZCOEM0RjI2NzQwQUQ4MDA3QTY1NTQgLyogVmlzaW9uS2l0Q29yZVNQSS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ2QjhDNEUyNjc0MEFE
ODAwN0E2NTU0IC8qIFZpc2lvbktpdENvcmVTUEkuaCAqLzsgfTsKIAkJRjQ5NzRFQTMyNjVFRUEy
MjAwQjQ5QjhDIC8qIFJldmVhbFNvZnRMaW5rLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBGNDk3NEVBMTI2NUVFQTIyMDBCNDlCOEMgLyogUmV2ZWFsU29m
dExpbmsuaCAqLzsgfTsKIAkJRjQ5NzRFQTQyNjVFRUEyMjAwQjQ5QjhDIC8qIFJldmVhbFNvZnRM
aW5rLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjQ5
NzRFQTIyNjVFRUEyMjAwQjQ5QjhDIC8qIFJldmVhbFNvZnRMaW5rLm1tICovOyB9OwogCQlGNEM4
NUE0RTI2NTg1NTFBMDA1Qjg5Q0MgLyogUXVpY2tMb29rVUlTb2Z0TGluay5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0Qzg1QTRDMjY1ODU1MTkwMDVC
ODlDQyAvKiBRdWlja0xvb2tVSVNvZnRMaW5rLm1tICovOyB9OwpAQCAtNDI4LDYgKzQzMCw5IEBA
CiAJCUY0NDI5MTVGMUZBNTI2MUUwMDJDQzkzRSAvKiBGaWxlU2l6ZUZvcm1hdHRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGaWxlU2l6ZUZvcm1hdHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGNDQyOTE2MjFGQTUyNjcwMDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gRmlsZVNpemVGb3JtYXR0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlGNDQyOTE2NjFGQTUyNzA1MDAyQ0M5M0UgLyogRmlsZVNpemVGb3JtYXR0
ZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZpbGVTaXplRm9ybWF0dGVyQ29jb2Eu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NkI4QzRCMjY3NDA4RkEwMDdBNjU1
NCAvKiBWaXNpb25LaXRDb3JlU29mdExpbmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmlzaW9uS2l0Q29y
ZVNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0NkI4QzRDMjY3NDA5
MTgwMDdBNjU1NCAvKiBWaXNpb25LaXRDb3JlU29mdExpbmsubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBWaXNpb25LaXRDb3JlU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0NkI4QzRFMjY3NDBBRDgwMDdBNjU1NCAvKiBWaXNpb25LaXRDb3JlU1BJLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFZpc2lvbktpdENvcmVTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjQ5NzRFQTEyNjVFRUEyMjAwQjQ5QjhDIC8qIFJldmVhbFNv
ZnRMaW5rLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJldmVhbFNvZnRMaW5rLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUY0OTc0RUEyMjY1RUVBMjIwMEI0OUI4QyAvKiBSZXZlYWxTb2Z0TGlu
ay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJldmVhbFNvZnRMaW5rLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlGNEM4NUE0QzI2NTg1NTE5MDA1Qjg5Q0MgLyogUXVpY2tMb29r
VUlTb2Z0TGluay5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFF1
aWNrTG9va1VJU29mdExpbmsubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01NTYs
NiArNTYxLDcgQEAKIAkJCQkwQzJEQTEzQzFGM0JFQjQ5MDBEQkMzMTcgLyogU2VydmVyc1NQSS5o
ICovLAogCQkJCTkzQjM4RUMxMjU4MjFEMjIwMDE5OEU2MyAvKiBTcGVlY2hTUEkuaCAqLywKIAkJ
CQkwQzJEQTEyQjFGM0JFQjQ5MDBEQkMzMTcgLyogVVJMRm9ybWF0dGluZ1NQSS5oICovLAorCQkJ
CUY0NkI4QzRFMjY3NDBBRDgwMDdBNjU1NCAvKiBWaXNpb25LaXRDb3JlU1BJLmggKi8sCiAJCQkJ
MEMyREExM0QxRjNCRUI0OTAwREJDMzE3IC8qIFdlYkZpbHRlckV2YWx1YXRvclNQSS5oICovLAog
CQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKQEAgLTczOSw2ICs3NDUsOCBAQAogCQkJCTkzQjM4RUJG
MjU4MjFDRDcwMDE5OEU2MyAvKiBTcGVlY2hTb2Z0TGluay5tbSAqLywKIAkJCQkwNzYxMURCNDI0
M0ZBNUJFMDBEODA3MDQgLyogVXNhZ2VUcmFja2luZ1NvZnRMaW5rLmggKi8sCiAJCQkJMDc2MTFE
QjUyNDNGQTVCRjAwRDgwNzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5tbSAqLywKKwkJCQlG
NDZCOEM0QjI2NzQwOEZBMDA3QTY1NTQgLyogVmlzaW9uS2l0Q29yZVNvZnRMaW5rLmggKi8sCisJ
CQkJRjQ2QjhDNEMyNjc0MDkxODAwN0E2NTU0IC8qIFZpc2lvbktpdENvcmVTb2Z0TGluay5tbSAq
LywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpA
QCAtOTg3LDYgKzk5NSw3IEBACiAJCQkJMEM1QUY5MjIxRjQzQTRDNzAwMkVBQzAyIC8qIFVJS2l0
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkwQzJEQTE0NzFGM0JFQjQ5MDBEQkMzMTcgLyogVVJM
Rm9ybWF0dGluZ1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc2MTFEQjYyNDNGQTVCRjAwRDgw
NzA0IC8qIFVzYWdlVHJhY2tpbmdTb2Z0TGluay5oIGluIEhlYWRlcnMgKi8sCisJCQkJRjQ2QjhD
NEYyNjc0MEFEODAwN0E2NTU0IC8qIFZpc2lvbktpdENvcmVTUEkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBDMkRBMTU5MUYzQkVCNDkwMERCQzMxNyAvKiBXZWJGaWx0ZXJFdmFsdWF0b3JTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUExMDgyNkY5MUY1NzYyOTIwMDQ3NzJBQyAvKiBXZWJQYW5lbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwpAQCAtMTEyMCw2ICsxMTI5LDcgQEAKIAkJCQkyRTEzNDJD
RDIxNUFBMTBBMDA3MTk5RDIgLyogVUlLaXRTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTA3NjExREI3MjQzRkE1QkYwMEQ4MDcwNCAvKiBVc2FnZVRyYWNraW5nU29mdExpbmsubW0gaW4g
U291cmNlcyAqLywKIAkJCQk0MUUxRjM0NDI0OEE2QTAwMDAyMkQ1REUgLyogVmlkZW9Ub29sYm94
U29mdExpbmsuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjQ2QjhDNEQyNjc0MDkxODAwN0E2NTU0
IC8qIFZpc2lvbktpdENvcmVTb2Z0TGluay5tbSBpbiBTb3VyY2VzICovLAogCQkJCUExMDgyNkZB
MUY1NzYyOTIwMDQ3NzJBQyAvKiBXZWJQYW5lbC5tbSBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJ
CXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BB
TC9wYWwvUGxhdGZvcm1NYWMuY21ha2UKaW5kZXggNzk4NjQ0ZWJmNjU4MDBhM2QxYWQzY2VlMGM1
OWE3ZGQyOWY3Mjc2ZC4uNDZkMTI3MDViNWQ5YTZkMDg2YTA4N2JlZWU4NmNhMWFjNTRjMTY1NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9QbGF0Zm9ybU1hYy5jbWFrZQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL1BsYXRmb3JtTWFjLmNtYWtlCkBAIC0xOSw2ICsxOSw3
IEBAIGxpc3QoQVBQRU5EIFBBTF9QVUJMSUNfSEVBREVSUwogICAgIGNvY29hL1JldmVhbFNvZnRM
aW5rLmgKICAgICBjb2NvYS9TcGVlY2hTb2Z0TGluay5oCiAgICAgY29jb2EvVXNhZ2VUcmFja2lu
Z1NvZnRMaW5rLmgKKyAgICBjb2NvYS9WaXNpb25LaXRDb3JlU29mdExpbmsuaAogCiAgICAgbWFj
L0RhdGFEZXRlY3RvcnNTb2Z0TGluay5oCiAgICAgbWFjL0xvb2t1cFNvZnRMaW5rLmgKQEAgLTg2
LDYgKzg3LDcgQEAgbGlzdChBUFBFTkQgUEFMX1BVQkxJQ19IRUFERVJTCiAgICAgc3BpL2NvY29h
L1NlcnZlcnNTUEkuaAogICAgIHNwaS9jb2NvYS9TcGVlY2hTUEkuaAogICAgIHNwaS9jb2NvYS9V
UkxGb3JtYXR0aW5nU1BJLmgKKyAgICBzcGkvY29jb2EvVmlzaW9uS2l0Q29yZVNQSS5oCiAgICAg
c3BpL2NvY29hL1dlYkZpbHRlckV2YWx1YXRvclNQSS5oCiAgICAgc3BpL2NvY29hL3B0aHJlYWRT
UEkuaAogCkBAIC0xNjEsNiArMTYzLDcgQEAgbGlzdChBUFBFTkQgUEFMX1NPVVJDRVMKICAgICBj
b2NvYS9SZXZlYWxTb2Z0TGluay5tbQogICAgIGNvY29hL1NwZWVjaFNvZnRMaW5rLm1tCiAgICAg
Y29jb2EvVXNhZ2VUcmFja2luZ1NvZnRMaW5rLm1tCisgICAgY29jb2EvVmlzaW9uS2l0Q29yZVNv
ZnRMaW5rLm1tCiAKICAgICBjcnlwdG8vY29tbW9uY3J5cHRvL0NyeXB0b0RpZ2VzdENvbW1vbkNy
eXB0by5jcHAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9WaXNp
b25LaXRDb3JlU29mdExpbmsuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvVmlzaW9u
S2l0Q29yZVNvZnRMaW5rLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjhmZTM0NDMzMjcyMTE5Mjc0NTg3NzVlNDli
ZTE3ZWI5ZmQ1MzM3NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
Y29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLmgKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgSEFWRShWS19JTUFHRV9BTkFMWVNJUykKKworI2ltcG9y
dCA8cGFsL3NwaS9jb2NvYS9WaXNpb25LaXRDb3JlU1BJLmg+CisjaW1wb3J0IDx3dGYvU29mdExp
bmtpbmcuaD4KKworU09GVF9MSU5LX0ZSQU1FV09SS19GT1JfSEVBREVSKFBBTCwgVmlzaW9uS2l0
Q29yZSkKK1NPRlRfTElOS19DTEFTU19GT1JfSEVBREVSKFBBTCwgVktJbWFnZUFuYWx5emVyKQor
U09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0KQor
CisjZW5kaWYgLy8gSEFWRShWS19JTUFHRV9BTkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvY29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLm1tIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9jb2NvYS9WaXNpb25LaXRDb3JlU29mdExpbmsubW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Nzg2OWVlZWRkYzQ3YmFlODg3YzRlZTA0ZjZiODU0ZTJiOWEzMTIzNAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvVmlzaW9uS2l0Q29yZVNvZnRMaW5rLm1t
CkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0ICJjb25maWcuaCIKKworI2lm
IEhBVkUoVktfSU1BR0VfQU5BTFlTSVMpCisKKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvVmlzaW9u
S2l0Q29yZVNQSS5oPgorI2ltcG9ydCA8d3RmL1NvZnRMaW5raW5nLmg+CisKK1NPRlRfTElOS19Q
UklWQVRFX0ZSQU1FV09SS19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgVmlzaW9uS2l0Q29y
ZSwgUEFMX0VYUE9SVCkKK1NPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBB
TCwgVmlzaW9uS2l0Q29yZSwgVktJbWFnZUFuYWx5emVyLCBQQUxfRVhQT1JUKQorU09GVF9MSU5L
X0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBWaXNpb25LaXRDb3JlLCBWS0ltYWdl
QW5hbHl6ZXJSZXF1ZXN0LCBQQUxfRVhQT1JUKQorCisjZW5kaWYgLy8gSEFWRShWS19JTUFHRV9B
TkFMWVNJUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zp
c2lvbktpdENvcmVTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1Zpc2lv
bktpdENvcmVTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mOGQyNTUwOGIwZjc3MDI3ODI2N2RiZjAzYWU5NWUw
MmUxNzI2ZjhjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkv
Y29jb2EvVmlzaW9uS2l0Q29yZVNQSS5oCkBAIC0wLDAgKzEsMTQwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2lmIEhBVkUoVktfSU1BR0VfQU5BTFlTSVMpCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorCisjaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXNpc19XZWJLaXQuaD4KKyNp
bXBvcnQgPFZpc2lvbktpdENvcmUvVmlzaW9uS2l0Q29yZS5oPgorCisjZWxzZQorCisjaW1wb3J0
IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisjaW1wb3J0IDxVSUtpdC9VSUtp
dC5oPgorI2VuZGlmCisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKK3R5cGVkZWYgaW50MzJf
dCBWS0ltYWdlQW5hbHlzaXNSZXF1ZXN0SUQ7CisKK3R5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRl
Z2VyLCBWS0FuYWx5c2lzVHlwZXMpIHsKKyAgICBWS0FuYWx5c2lzVHlwZVRleHQgICAgICAgICAg
ICAgICAgID0gMSA8PCAwLAorICAgIFZLQW5hbHlzaXNUeXBlVGV4dERhdGFEZXRlY3RvciAgICAg
PSAxIDw8IDEsCisgICAgVktBbmFseXNpc1R5cGVNYWNoaW5lUmVhZGFibGVDb2RlICA9IDEgPDwg
MiwKKyAgICBWS0FuYWx5c2lzVHlwZUFwcENsaXAgICAgICAgICAgICAgID0gMSA8PCAzLAorICAg
IFZLQW5hbHlzaXNUeXBlVmlzdWFsU2VhcmNoICAgICAgICAgPSAxIDw8IDQsCisgICAgVktBbmFs
eXNpc1R5cGVOb25lID0gMCwKKyAgICBWS0FuYWx5c2lzVHlwZUFsbCA9IE5TVUludGVnZXJNYXgs
Cit9OworCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKwordHlwZWRlZiBVSUltYWdlIFZLSW1h
Z2VDbGFzczsKK3R5cGVkZWYgVUlJbWFnZU9yaWVudGF0aW9uIFZLSW1hZ2VPcmllbnRhdGlvbjsK
KworI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25VcCAgICAgICAgICAgIFVJSW1hZ2VPcmllbnRh
dGlvblVwCisjZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlvbkRvd24gICAgICAgICAgVUlJbWFnZU9y
aWVudGF0aW9uRG93bgorI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25MZWZ0ICAgICAgICAgIFVJ
SW1hZ2VPcmllbnRhdGlvbkxlZnQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uUmlnaHQgICAg
ICAgICBVSUltYWdlT3JpZW50YXRpb25SaWdodAorI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25V
cE1pcnJvcmVkICAgIFVJSW1hZ2VPcmllbnRhdGlvblVwTWlycm9yZWQKKyNkZWZpbmUgVktJbWFn
ZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkICBVSUltYWdlT3JpZW50YXRpb25Eb3duTWlycm9yZWQK
KyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uTGVmdE1pcnJvcmVkICBVSUltYWdlT3JpZW50YXRp
b25MZWZ0TWlycm9yZWQKKyNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uUmlnaHRNaXJyb3JlZCBV
SUltYWdlT3JpZW50YXRpb25SaWdodE1pcnJvcmVkCisKKyNlbHNlCisKK3R5cGVkZWYgTlNJbWFn
ZSBWS0ltYWdlQ2xhc3M7CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFZLSW1hZ2VPcmll
bnRhdGlvbikgeworICAgIFZLSW1hZ2VPcmllbnRhdGlvblVwLAorICAgIFZLSW1hZ2VPcmllbnRh
dGlvbkRvd24sCisgICAgVktJbWFnZU9yaWVudGF0aW9uTGVmdCwKKyAgICBWS0ltYWdlT3JpZW50
YXRpb25SaWdodCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25VcE1pcnJvcmVkLAorICAgIFZLSW1h
Z2VPcmllbnRhdGlvbkRvd25NaXJyb3JlZCwKKyAgICBWS0ltYWdlT3JpZW50YXRpb25MZWZ0TWly
cm9yZWQsCisgICAgVktJbWFnZU9yaWVudGF0aW9uUmlnaHRNaXJyb3JlZCwKK307CisKKyNlbmRp
ZgorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXNpcyA6IE5TT2JqZWN0IDxOU1NlY3VyZUNvZGlu
Zz4KKy0gKEJPT0wpaGFzUmVzdWx0c0ZvckFuYWx5c2lzVHlwZXM6KFZLQW5hbHlzaXNUeXBlcylh
bmFseXNpc1R5cGVzOworQGVuZAorCitAcHJvdG9jb2wgVktGZWVkYmFja0Fzc2V0c1Byb3ZpZGVy
IDxOU09iamVjdD4KKy0gKEJPT0wpc2F2ZUFzc2V0c1RvRmVlZGJhY2tBdHRhY2htZW50c0ZvbGRl
cjooTlNVUkwgKilhdHRhY2htZW50c0ZvbGRlclVSTCBlcnJvcjooTlNFcnJvciAqKWVycm9yOwor
QGVuZAorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXplclJlcXVlc3QgOiBOU09iamVjdCA8TlND
b3B5aW5nLCBWS0ZlZWRiYWNrQXNzZXRzUHJvdmlkZXI+CistIChpbnN0YW5jZXR5cGUpaW5pdCBO
U19VTkFWQUlMQUJMRTsKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aEltYWdlOihWS0ltYWdlQ2xh
c3MgKilpbWFnZSBvcmllbnRhdGlvbjooVktJbWFnZU9yaWVudGF0aW9uKW9yaWVudGF0aW9uIHJl
cXVlc3RUeXBlOihWS0FuYWx5c2lzVHlwZXMpYW5hbHlzaXNUeXBlOworLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQ0dJbWFnZTooQ0dJbWFnZVJlZilpbWFnZSBvcmllbnRhdGlvbjooVktJbWFnZU9y
aWVudGF0aW9uKW9yaWVudGF0aW9uIHJlcXVlc3RUeXBlOihWS0FuYWx5c2lzVHlwZXMpYW5hbHlz
aXNUeXBlOworQGVuZAorCitAaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXplclJlcXVlc3QgKFZJKQor
QHByb3BlcnR5IChub25hdG9taWMpIE5TVVJMICppbWFnZVVSTDsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljKSBOU1VSTCAqcGFnZVVSTDsKK0BlbmQKKworQGludGVyZmFjZSBWS0ltYWdlQW5hbHl6ZXIg
OiBOU09iamVjdAorQHByb3BlcnR5IChub25hdG9taWMsIHN0cm9uZywgbnVsbGFibGUpIGRpc3Bh
dGNoX3F1ZXVlX3QgY2FsbGJhY2tRdWV1ZTsKKy0gKFZLSW1hZ2VBbmFseXNpc1JlcXVlc3RJRClw
cm9jZXNzUmVxdWVzdDooVktJbWFnZUFuYWx5emVyUmVxdWVzdCAqKXJlcXVlc3QgcHJvZ3Jlc3NI
YW5kbGVyOih2b2lkICheX051bGxhYmxlKShkb3VibGUgcHJvZ3Jlc3MpKXByb2dyZXNzSGFuZGxl
ciBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVktJbWFnZUFuYWx5c2lzICpfTnVsbGFibGUg
YW5hbHlzaXMsIE5TRXJyb3IgKl9OdWxsYWJsZSBlcnJvcikpY29tcGxldGlvbkhhbmRsZXI7Cist
ICh2b2lkKWNhbmNlbEFsbFJlcXVlc3RzOworQGVuZAorCitAaW50ZXJmYWNlIFZLUXVhZCA6IE5T
T2JqZWN0IDxOU0NvcHlpbmcsIE5TU2VjdXJlQ29kaW5nPgorQHByb3BlcnR5IChub25hdG9taWMs
IHJlYWRvbmx5KSBDR1BvaW50IHRvcExlZnQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIENHUG9pbnQgdG9wUmlnaHQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENH
UG9pbnQgYm90dG9tTGVmdDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2lu
dCBib3R0b21SaWdodDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0IGJv
dW5kaW5nQm94OworQGVuZAorCitAaW50ZXJmYWNlIFZLV0tUZXh0SW5mbyA6IE5TT2JqZWN0CitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TU3RyaW5nICpzdHJpbmc7CitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFZLUXVhZCAqcXVhZDsKK0BlbmQKKworQGludGVyZmFj
ZSBWS1dLTGluZUluZm8gOiBWS1dLVGV4dEluZm8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFk
b25seSkgTlNBcnJheTxWS1dLVGV4dEluZm8gKj4gKmNoaWxkcmVuOworQGVuZAorCitAaW50ZXJm
YWNlIFZLSW1hZ2VBbmFseXNpcyAoV2ViS2l0U1BJKQorQHByb3BlcnR5IChub25hdG9taWMsIHJl
YWRvbmx5KSBOU0FycmF5PFZLV0tMaW5lSW5mbyAqPiAqYWxsTGluZXM7CisjaWYgUExBVEZPUk0o
SU9TKQorQHByb3BlcnR5IChub25hdG9taWMpIFVJTWVudSAqbXJjTWVudTsKKyNlbmRpZgorQGVu
ZAorCitOU19BU1NVTUVfTk9OTlVMTF9FTkQKKworI2VuZGlmCisKKyNlbmRpZiAvLyBIQVZFKFZL
X0lNQUdFX0FOQUxZU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMuaCBiL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29j
b2EvVGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLmgKaW5kZXggYWM5ZmU3MzY2NTY5NGU0ZDJkODU5
ZDk3Zjg0YmJkZGJiNDJmYzhiMi4uMTJmNDNhYTMwNWZmYzJhN2Y3ZTBiMjU2NDhlNTE1MDcxM2Ey
MjgzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2du
aXRpb25VdGlsaXRpZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1RleHRS
ZWNvZ25pdGlvblV0aWxpdGllcy5oCkBAIC0zNSw3ICszNSw3IEBAIHN0cnVjdCBUZXh0UmVjb2du
aXRpb25SZXN1bHQ7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1ib29sIGlzTGl2ZVRleHRFbmFi
bGVkKCk7Citib29sIGlzTGl2ZVRleHRBdmFpbGFibGVBbmRFbmFibGVkKCk7CiBXZWJDb3JlOjpU
ZXh0UmVjb2duaXRpb25SZXN1bHQgbWFrZVRleHRSZWNvZ25pdGlvblJlc3VsdChWS0ltYWdlQW5h
bHlzaXMgKik7CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2Ev
VGV4dFJlY29nbml0aW9uVXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2Nv
YS9UZXh0UmVjb2duaXRpb25VdGlsaXRpZXMubW0KaW5kZXggNjEwMTgyOWJjZWZiMTAyOGIwY2Y5
MzExMTQ4MjExYjBlNjYyZDFhMS4uMWMzY2U2ZTg0ZTk2MTJkMDdlZWFkYjBmOWU4ZTYzYmRlNWE1
NmNhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0UmVjb2du
aXRpb25VdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9UZXh0
UmVjb2duaXRpb25VdGlsaXRpZXMubW0KQEAgLTI4LDggKzI4LDggQEAKIAogI2lmIEVOQUJMRShJ
TUFHRV9BTkFMWVNJUykKIAotI2ltcG9ydCAiVmlzaW9uS2l0U1BJLmgiCiAjaW1wb3J0IDxXZWJD
b3JlL1RleHRSZWNvZ25pdGlvblJlc3VsdC5oPgorI2ltcG9ydCA8cGFsL2NvY29hL1Zpc2lvbktp
dENvcmVTb2Z0TGluay5oPgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9GZWF0dXJlRmxhZ3NTUEku
aD4KIAogLy8gTm90ZSB0aGF0IHRoaXMgaXMgYWN0dWFsbHkgZGVjbGFyZWQgYXMgYW4gT2JqZWN0
aXZlLUMgY2xhc3MgaW4gVmlzaW9uS2l0IGhlYWRlcnMuCkBAIC0xMDEsMTMgKzEwMSwxOCBAQCBU
ZXh0UmVjb2duaXRpb25SZXN1bHQgbWFrZVRleHRSZWNvZ25pdGlvblJlc3VsdChWS0ltYWdlQW5h
bHlzaXMgKmFuYWx5c2lzKQogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9UZXh0UmVjb2duaXRp
b25VdGlsaXRpZXNBZGRpdGlvbnMubW0+CiAjZWxzZQogCi1ib29sIGlzTGl2ZVRleHRFbmFibGVk
KCkKK3N0YXRpYyBib29sIGlzTGl2ZVRleHRFbmFibGVkKCkKIHsKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAogI2VuZGlmCiAKK2Jvb2wgaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKQorewor
ICAgIHJldHVybiBQQUw6OmlzVmlzaW9uS2l0Q29yZUZyYW1ld29ya0F2YWlsYWJsZSgpICYmIGlz
TGl2ZVRleHRFbmFibGVkKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYg
Ly8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0
Zm9ybS9zcGkvQ29jb2EvVmlzaW9uS2l0U1BJLmggYi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3Nw
aS9Db2NvYS9WaXNpb25LaXRTUEkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzMw
MmY4YzdkY2Q4YmUyYTIxMGY3MWJjOGMyMzVjNzgwZGYwY2M0MS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtL3NwaS9D
b2NvYS9WaXNpb25LaXRTUEkuaAorKysgL2Rldi9udWxsCkBAIC0xLDEzMSArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmIEhBVkUoVktfSU1BR0VfQU5BTFlTSVMpCi0KLSNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQotCi0jaW1wb3J0IDxWaXNpb25LaXRDb3JlL1ZLSW1hZ2VBbmFseXNpc19XZWJL
aXQuaD4KLSNpbXBvcnQgPFZpc2lvbktpdENvcmUvVktJbWFnZUFuYWx5emVyLmg+Ci0jaW1wb3J0
IDxWaXNpb25LaXRDb3JlL1ZLUXVhZC5oPgotCi0jZWxzZQotCi1OU19BU1NVTUVfTk9OTlVMTF9C
RUdJTgotCi10eXBlZGVmIGludDMyX3QgVktJbWFnZUFuYWx5c2lzUmVxdWVzdElEOwotCi10eXBl
ZGVmIE5TX09QVElPTlMoTlNVSW50ZWdlciwgVktBbmFseXNpc1R5cGVzKSB7Ci0gICAgVktBbmFs
eXNpc1R5cGVUZXh0ICAgICAgICAgICAgICAgICA9IDEgPDwgMCwKLSAgICBWS0FuYWx5c2lzVHlw
ZVRleHREYXRhRGV0ZWN0b3IgICAgID0gMSA8PCAxLAotICAgIFZLQW5hbHlzaXNUeXBlTWFjaGlu
ZVJlYWRhYmxlQ29kZSAgPSAxIDw8IDIsCi0gICAgVktBbmFseXNpc1R5cGVBcHBDbGlwICAgICAg
ICAgICAgICA9IDEgPDwgMywKLSAgICBWS0FuYWx5c2lzVHlwZVZpc3VhbFNlYXJjaCAgICAgICAg
ID0gMSA8PCA0LAotICAgIFZLQW5hbHlzaXNUeXBlTm9uZSA9IDAsCi0gICAgVktBbmFseXNpc1R5
cGVBbGwgPSBOU1VJbnRlZ2VyTWF4LAotfTsKLQotI2lmIFBMQVRGT1JNKElPUykKLQotdHlwZWRl
ZiBVSUltYWdlIFZLSW1hZ2VDbGFzczsKLQotdHlwZWRlZiBVSUltYWdlT3JpZW50YXRpb24gVktJ
bWFnZU9yaWVudGF0aW9uOwotCi0jZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlvblVwICAgICAgICAg
ICAgVUlJbWFnZU9yaWVudGF0aW9uVXAKLSNkZWZpbmUgVktJbWFnZU9yaWVudGF0aW9uRG93biAg
ICAgICAgICBVSUltYWdlT3JpZW50YXRpb25Eb3duCi0jZGVmaW5lIFZLSW1hZ2VPcmllbnRhdGlv
bkxlZnQgICAgICAgICAgVUlJbWFnZU9yaWVudGF0aW9uTGVmdAotI2RlZmluZSBWS0ltYWdlT3Jp
ZW50YXRpb25SaWdodCAgICAgICAgIFVJSW1hZ2VPcmllbnRhdGlvblJpZ2h0Ci0jZGVmaW5lIFZL
SW1hZ2VPcmllbnRhdGlvblVwTWlycm9yZWQgICAgVUlJbWFnZU9yaWVudGF0aW9uVXBNaXJyb3Jl
ZAotI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25Eb3duTWlycm9yZWQgIFVJSW1hZ2VPcmllbnRh
dGlvbkRvd25NaXJyb3JlZAotI2RlZmluZSBWS0ltYWdlT3JpZW50YXRpb25MZWZ0TWlycm9yZWQg
IFVJSW1hZ2VPcmllbnRhdGlvbkxlZnRNaXJyb3JlZAotI2RlZmluZSBWS0ltYWdlT3JpZW50YXRp
b25SaWdodE1pcnJvcmVkIFVJSW1hZ2VPcmllbnRhdGlvblJpZ2h0TWlycm9yZWQKLQotI2Vsc2UK
LQotdHlwZWRlZiBOU0ltYWdlIFZLSW1hZ2VDbGFzczsKLQotdHlwZWRlZiBOU19FTlVNKE5TSW50
ZWdlciwgVktJbWFnZU9yaWVudGF0aW9uKSB7Ci0gICAgVktJbWFnZU9yaWVudGF0aW9uVXAsCi0g
ICAgVktJbWFnZU9yaWVudGF0aW9uRG93biwKLSAgICBWS0ltYWdlT3JpZW50YXRpb25MZWZ0LAot
ICAgIFZLSW1hZ2VPcmllbnRhdGlvblJpZ2h0LAotICAgIFZLSW1hZ2VPcmllbnRhdGlvblVwTWly
cm9yZWQsCi0gICAgVktJbWFnZU9yaWVudGF0aW9uRG93bk1pcnJvcmVkLAotICAgIFZLSW1hZ2VP
cmllbnRhdGlvbkxlZnRNaXJyb3JlZCwKLSAgICBWS0ltYWdlT3JpZW50YXRpb25SaWdodE1pcnJv
cmVkLAotfTsKLQotI2VuZGlmCi0KLUBpbnRlcmZhY2UgVktJbWFnZUFuYWx5c2lzIDogTlNPYmpl
Y3QgPE5TU2VjdXJlQ29kaW5nPgotLSAoQk9PTCloYXNSZXN1bHRzRm9yQW5hbHlzaXNUeXBlczoo
VktBbmFseXNpc1R5cGVzKWFuYWx5c2lzVHlwZXM7Ci1AZW5kCi0KLUBwcm90b2NvbCBWS0ZlZWRi
YWNrQXNzZXRzUHJvdmlkZXIgPE5TT2JqZWN0PgotLSAoQk9PTClzYXZlQXNzZXRzVG9GZWVkYmFj
a0F0dGFjaG1lbnRzRm9sZGVyOihOU1VSTCAqKWF0dGFjaG1lbnRzRm9sZGVyVVJMIGVycm9yOihO
U0Vycm9yICopZXJyb3I7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVktJbWFnZUFuYWx5emVyUmVxdWVz
dCA6IE5TT2JqZWN0IDxOU0NvcHlpbmcsIFZLRmVlZGJhY2tBc3NldHNQcm92aWRlcj4KLS0gKGlu
c3RhbmNldHlwZSlpbml0IE5TX1VOQVZBSUxBQkxFOwotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRo
SW1hZ2U6KFZLSW1hZ2VDbGFzcyAqKWltYWdlIHJlcXVlc3RUeXBlOihWS0FuYWx5c2lzVHlwZXMp
YW5hbHlzaXNUeXBlOwotLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ0dJbWFnZTooQ0dJbWFnZVJl
ZilpbWFnZSBvcmllbnRhdGlvbjooVktJbWFnZU9yaWVudGF0aW9uKW9yaWVudGF0aW9uIHJlcXVl
c3RUeXBlOihWS0FuYWx5c2lzVHlwZXMpYW5hbHlzaXNUeXBlOwotQGVuZAotCi1AaW50ZXJmYWNl
IFZLSW1hZ2VBbmFseXplciA6IE5TT2JqZWN0Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25n
LCBudWxsYWJsZSkgZGlzcGF0Y2hfcXVldWVfdCBjYWxsYmFja1F1ZXVlOwotLSAoVktJbWFnZUFu
YWx5c2lzUmVxdWVzdElEKXByb2Nlc3NSZXF1ZXN0OihWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0ICop
cmVxdWVzdAotICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvZ3Jlc3NIYW5kbGVyOih2b2lk
ICheX051bGxhYmxlKShkb3VibGUgcHJvZ3Jlc3MpKXByb2dyZXNzSGFuZGxlcgotICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShWS0ltYWdlQW5hbHlz
aXMqIF9OdWxsYWJsZSBhbmFseXNpcywgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikpY29tcGxl
dGlvbkhhbmRsZXI7Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVktRdWFkIDogTlNPYmplY3QgPE5TQ29w
eWluZywgTlNTZWN1cmVDb2Rpbmc+Ci1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENH
UG9pbnQgdG9wTGVmdDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCB0
b3BSaWdodDsKLUBwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBib3R0b21M
ZWZ0OwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IGJvdHRvbVJpZ2h0
OwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1JlY3QgYm91bmRpbmdCb3g7Ci1A
ZW5kCi0KLUBpbnRlcmZhY2UgVktXS1RleHRJbmZvIDogTlNPYmplY3QKLUBwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgTlNTdHJpbmcgKnN0cmluZzsKLUBwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgVktRdWFkICpxdWFkOwotQGVuZAotCi1AaW50ZXJmYWNlIFZLV0tMaW5lSW5m
byA6IFZLV0tUZXh0SW5mbwotQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBOU0FycmF5
PFZLV0tUZXh0SW5mbyAqPiAqY2hpbGRyZW47Ci1AZW5kCi0KLUBpbnRlcmZhY2UgVktJbWFnZUFu
YWx5c2lzIChXZWJLaXRTUEkpCi1AcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIE5TQXJy
YXkgPFZLV0tMaW5lSW5mbyAqPiAqYWxsTGluZXM7Ci0jaWYgUExBVEZPUk0oSU9TKQotQHByb3Bl
cnR5IChub25hdG9taWMpIFVJTWVudSAqIG1yY01lbnU7Ci0jZW5kaWYKLUBlbmQKLQotTlNfQVNT
VU1FX05PTk5VTExfRU5ECi0KLSNlbmRpZgotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggOWI0YjViMjhmZDUxYTdjNDA3MGI0OGYx
MGZjM2YzN2EwYjVlYTc2ZS4uNWIyMGQxNmNjZGUyYjY2ZTAxMmQ0ZThjMzBiMGQ0YjM3MjVmZDcx
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAg
LTE0Niw4ICsxNDYsNiBAQAogI2luY2x1ZGUgIk1lZGlhU2Vzc2lvbkNvb3JkaW5hdG9yUHJveHlQ
cml2YXRlLmgiCiAjZW5kaWYKIAotI2ltcG9ydCAiVmlzaW9uS2l0U1BJLmgiCi0KICNpZiBIQVZF
KFRSQU5TTEFUSU9OX1VJX1NFUlZJQ0VTKQogI2ltcG9ydCA8VHJhbnNsYXRpb25VSVNlcnZpY2Vz
L0xUVUlUcmFuc2xhdGlvblZpZXdDb250cm9sbGVyLmg+CiAKQEAgLTE2MCw2ICsxNTgsNyBAQCBT
T0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoVHJhbnNsYXRpb25VSVNlcnZpY2VzLCBMVFVJVHJhbnNs
YXRpb25WaWV3Q29udHJvbGxlcikKICNlbmRpZgogCiAjaW1wb3J0IDxwYWwvY29jb2EvUmV2ZWFs
U29mdExpbmsuaD4KKyNpbXBvcnQgPHBhbC9jb2NvYS9WaXNpb25LaXRDb3JlU29mdExpbmsuaD4K
ICNpbXBvcnQgPHBhbC9tYWMvRGF0YURldGVjdG9yc1NvZnRMaW5rLmg+CiAKICNpZiBIQVZFKFRP
VUNIX0JBUikgJiYgRU5BQkxFKFdFQl9QTEFZQkFDS19DT05UUk9MU19NQU5BR0VSKQpAQCAtMTg3
LDIzICsxODYsMTMgQEAgQGVuZAogCiAjaWYgRU5BQkxFKElNQUdFX0FOQUxZU0lTKQogCi1TT0ZU
X0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSkKLVNPRlRfTElO
S19DTEFTU19PUFRJT05BTChWaXNpb25LaXRDb3JlLCBWS0ltYWdlQW5hbHl6ZXIpCi1TT0ZUX0xJ
TktfQ0xBU1NfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSwgVktJbWFnZUFuYWx5emVyUmVxdWVzdCkK
LQotLy8gRklYTUU6IFJlbW92ZSB0aGlzIG9uY2UgPHJkYXI6Ly83MjQ4MDQ1OT4gaXMgaW4gdGhl
IFNESy4KLUBpbnRlcmZhY2UgVktJbWFnZUFuYWx5emVyUmVxdWVzdCAoU3RhZ2luZ183MjQ4MDQ1
OSkKLUBwcm9wZXJ0eSAobm9uYXRvbWljKSBOU1VSTCAqaW1hZ2VVUkw7Ci1AcHJvcGVydHkgKG5v
bmF0b21pYykgTlNVUkwgKnBhZ2VVUkw7Ci1AZW5kCi0KIG5hbWVzcGFjZSBXZWJLaXQgewogCiBW
S0ltYWdlQW5hbHl6ZXIgKldlYlZpZXdJbXBsOjplbnN1cmVJbWFnZUFuYWx5emVyKCkKIHsKICAg
ICBpZiAoIW1faW1hZ2VBbmFseXplcikgewogICAgICAgICBtX2ltYWdlQW5hbHl6ZXJRdWV1ZSA9
IFdvcmtRdWV1ZTo6Y3JlYXRlKCJXZWJLaXQgaW1hZ2UgYW5hbHl6ZXIgcXVldWUiKTsKLSAgICAg
ICAgbV9pbWFnZUFuYWx5emVyID0gYWRvcHROUyhbYWxsb2NWS0ltYWdlQW5hbHl6ZXJJbnN0YW5j
ZSgpIGluaXRdKTsKKyAgICAgICAgbV9pbWFnZUFuYWx5emVyID0gYWRvcHROUyhbUEFMOjphbGxv
Y1ZLSW1hZ2VBbmFseXplckluc3RhbmNlKCkgaW5pdF0pOwogICAgICAgICBbbV9pbWFnZUFuYWx5
emVyIHNldENhbGxiYWNrUXVldWU6bV9pbWFnZUFuYWx5emVyUXVldWUtPmRpc3BhdGNoUXVldWUo
KV07CiAgICAgfQogICAgIHJldHVybiBtX2ltYWdlQW5hbHl6ZXIuZ2V0KCk7CkBAIC0yMTEsNyAr
MjAwLDcgQEAgVktJbWFnZUFuYWx5emVyICpXZWJWaWV3SW1wbDo6ZW5zdXJlSW1hZ2VBbmFseXpl
cigpCiAKIHN0YXRpYyBSZXRhaW5QdHI8VktJbWFnZUFuYWx5emVyUmVxdWVzdD4gY3JlYXRlSW1h
Z2VBbmFseXNpc1JlcXVlc3QoQ0dJbWFnZVJlZiBpbWFnZSwgY29uc3QgVVJMJiBpbWFnZVVSTCwg
Y29uc3QgVVJMJiBwYWdlVVJMLCBWS0FuYWx5c2lzVHlwZXMgdHlwZXMpCiB7Ci0gICAgYXV0byBy
ZXF1ZXN0ID0gYWRvcHROUyhbYWxsb2NWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0SW5zdGFuY2UoKSBp
bml0V2l0aENHSW1hZ2U6aW1hZ2Ugb3JpZW50YXRpb246VktJbWFnZU9yaWVudGF0aW9uVXAgcmVx
dWVzdFR5cGU6dHlwZXNdKTsKKyAgICBhdXRvIHJlcXVlc3QgPSBhZG9wdE5TKFtQQUw6OmFsbG9j
VktJbWFnZUFuYWx5emVyUmVxdWVzdEluc3RhbmNlKCkgaW5pdFdpdGhDR0ltYWdlOmltYWdlIG9y
aWVudGF0aW9uOlZLSW1hZ2VPcmllbnRhdGlvblVwIHJlcXVlc3RUeXBlOnR5cGVzXSk7CiAgICAg
W3JlcXVlc3Qgc2V0SW1hZ2VVUkw6aW1hZ2VVUkxdOwogICAgIFtyZXF1ZXN0IHNldFBhZ2VVUkw6
cGFnZVVSTF07CiAgICAgcmV0dXJuIHJlcXVlc3Q7CkBAIC0yMTksNyArMjA4LDcgQEAgc3RhdGlj
IFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiBjcmVhdGVJbWFnZUFuYWx5c2lzUmVx
dWVzdChDR0ltYWdlUmVmIGkKIAogdm9pZCBXZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25p
dGlvbihjb25zdCBVUkwmIGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSYg
aW1hZ2VEYXRhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OlRleHRSZWNvZ25pdGlv
blJlc3VsdCYmKT4mJiBjb21wbGV0aW9uKQogewotICAgIGlmICghaXNMaXZlVGV4dEVuYWJsZWQo
KSkgeworICAgIGlmICghaXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkgewogICAgICAg
ICBjb21wbGV0aW9uKHsgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0yNDMsNyArMjMy
LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6cmVxdWVzdFRleHRSZWNvZ25pdGlvbihjb25zdCBVUkwm
IGltYWdlVVJMLCBjb25zdCBTaGFyZWFibGVCaXQKIAogdm9pZCBXZWJWaWV3SW1wbDo6Y29tcHV0
ZUhhc1Zpc3VhbFNlYXJjaFJlc3VsdHMoY29uc3QgVVJMJiBpbWFnZVVSTCwgU2hhcmVhYmxlQml0
bWFwJiBpbWFnZUJpdG1hcCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uKQogewotICAgIGlmICghaXNMaXZlVGV4dEVuYWJsZWQoKSkgeworICAgIGlmICghaXNMaXZl
VGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkgewogICAgICAgICBjb21wbGV0aW9uKGZhbHNlKTsK
ICAgICAgICAgcmV0dXJuOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IGFhNGI0ZTNmMjU4NjI1
NzUwOTg2ZTM2MDJjMGI1ODYxOWMxODQyODYuLmM4NzllOWRlMGQxZmQwMDk1YWI3ODBiMTI2M2E4
ZjZhYmEyYWEwZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMTc0LDIyICsxNzQsNyBAQAogI2ltcG9y
dCAiUGVwcGVyVUlDb3JlU1BJLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShJTUFHRV9BTkFMWVNJ
UykKLQotLy8gRklYTUU6IFRoaXMgc2hvdWxkIGJlIHB1bGxlZCBvdXQgaW50byBhIHNlcGFyYXRl
IHNvZnRsaW5raW5nIGhlYWRlciAoZWl0aGVyIGluIFBBTCBvciBXZWJLaXQyKS4KLSNpbXBvcnQg
IlZpc2lvbktpdFNQSS5oIgotU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKFZp
c2lvbktpdENvcmUpCi1TT0ZUX0xJTktfQ0xBU1NfT1BUSU9OQUwoVmlzaW9uS2l0Q29yZSwgVktJ
bWFnZUFuYWx5emVyKQotU09GVF9MSU5LX0NMQVNTX09QVElPTkFMKFZpc2lvbktpdENvcmUsIFZL
SW1hZ2VBbmFseXplclJlcXVlc3QpCi0KLS8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIDxyZGFy
Oi8vNzI0ODA0NTk+IGlzIGluIHRoZSBTREsuCi1AaW50ZXJmYWNlIFZLSW1hZ2VBbmFseXplclJl
cXVlc3QgKFN0YWdpbmdfNzI0ODA0NTkpCi1AcHJvcGVydHkgKG5vbmF0b21pYykgTlNVUkwgKmlt
YWdlVVJMOwotQHByb3BlcnR5IChub25hdG9taWMpIE5TVVJMICpwYWdlVVJMOwotQGVuZAotCi0j
ZW5kaWYgLy8gRU5BQkxFKElNQUdFX0FOQUxZU0lTKQotCisjaW1wb3J0IDxwYWwvY29jb2EvVmlz
aW9uS2l0Q29yZVNvZnRMaW5rLmg+CiAjaW1wb3J0IDxwYWwvaW9zL01hbmFnZWRDb25maWd1cmF0
aW9uU29mdExpbmsuaD4KICNpbXBvcnQgPHBhbC9pb3MvUXVpY2tMb29rU29mdExpbmsuaD4KIApA
QCAtODgwLDcgKzg2NSw3IEBAIC0gKHZvaWQpc2V0VXBJbnRlcmFjdGlvbgogICAgIF9pbWFnZUFu
YWx5c2lzRGVmZXJyaW5nR2VzdHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtbV0tEZWZlcnJpbmdH
ZXN0dXJlUmVjb2duaXplciBhbGxvY10gaW5pdFdpdGhEZWZlcnJpbmdHZXN0dXJlRGVsZWdhdGU6
c2VsZl0pOwogICAgIFtfaW1hZ2VBbmFseXNpc0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVyIHNl
dE5hbWU6QCJEZWZlcnJlciBmb3IgaW1hZ2UgYW5hbHlzaXMiXTsKICAgICBbX2ltYWdlQW5hbHlz
aXNEZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplciBzZXRJbW1lZGlhdGVseUZhaWxzQWZ0ZXJUb3Vj
aEVuZDpZRVNdOwotICAgIFtfaW1hZ2VBbmFseXNpc0RlZmVycmluZ0dlc3R1cmVSZWNvZ25pemVy
IHNldEVuYWJsZWQ6V2ViS2l0Ojppc0xpdmVUZXh0RW5hYmxlZCgpXTsKKyAgICBbX2ltYWdlQW5h
bHlzaXNEZWZlcnJpbmdHZXN0dXJlUmVjb2duaXplciBzZXRFbmFibGVkOldlYktpdDo6aXNMaXZl
VGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKV07CiAjZW5kaWYKIAogICAgIGZvciAoV0tEZWZlcnJp
bmdHZXN0dXJlUmVjb2duaXplciAqZ2VzdHVyZSBpbiBzZWxmLmRlZmVycmluZ0dlc3R1cmVzKSB7
CkBAIC05OTEzLDcgKzk4OTgsNyBAQCAtIChOU0RhdGEgKilwcm92aWRlRGF0YUZvckl0ZW06KFFM
SXRlbSAqKWl0ZW0KIAogLSAoYm9vbClhY3Rpb25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVl
dEFzc2lzdGFudCAqKWFzc2lzdGFudCBzaG91bGRJbmNsdWRlU2hvd1RleHRBY3Rpb25Gb3JFbGVt
ZW50OihfV0tBY3RpdmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQKIHsKLSAgICByZXR1cm4gV2Vi
S2l0Ojppc0xpdmVUZXh0RW5hYmxlZCgpICYmIF9oYXNTZWxlY3RhYmxlVGV4dEluSW1hZ2U7Cisg
ICAgcmV0dXJuIFdlYktpdDo6aXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSAmJiBfaGFz
U2VsZWN0YWJsZVRleHRJbkltYWdlOwogfQogCiAtICh2b2lkKWFjdGlvblNoZWV0QXNzaXN0YW50
OihXS0FjdGlvblNoZWV0QXNzaXN0YW50ICopYXNzaXN0YW50IHNob3dUZXh0Rm9ySW1hZ2U6KFVJ
SW1hZ2UgKilpbWFnZSBpbWFnZVVSTDooTlNVUkwgKilpbWFnZVVSTCB0aXRsZTooTlNTdHJpbmcg
Kil0aXRsZSBpbWFnZUJvdW5kczooQ0dSZWN0KWltYWdlQm91bmRzCkBAIC05OTIzLDcgKzk5MDgs
NyBAQCAtICh2b2lkKWFjdGlvblNoZWV0QXNzaXN0YW50OihXS0FjdGlvblNoZWV0QXNzaXN0YW50
ICopYXNzaXN0YW50IHNob3dUZXh0Rm9ySW1hZwogCiAtIChib29sKWFjdGlvblNoZWV0QXNzaXN0
YW50OihXS0FjdGlvblNoZWV0QXNzaXN0YW50ICopYXNzaXN0YW50IHNob3VsZEluY2x1ZGVMb29r
VXBJbWFnZUFjdGlvbkZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVu
dAogewotICAgIHJldHVybiBXZWJLaXQ6OmlzTGl2ZVRleHRFbmFibGVkKCkgJiYgX2hhc1Zpc3Vh
bFNlYXJjaFJlc3VsdHM7CisgICAgcmV0dXJuIFdlYktpdDo6aXNMaXZlVGV4dEF2YWlsYWJsZUFu
ZEVuYWJsZWQoKSAmJiBfaGFzVmlzdWFsU2VhcmNoUmVzdWx0czsKIH0KIAogLSAodm9pZClhY3Rp
b25TaGVldEFzc2lzdGFudDooV0tBY3Rpb25TaGVldEFzc2lzdGFudCAqKWFzc2lzdGFudCBsb29r
VXBJbWFnZTooVUlJbWFnZSAqKWltYWdlIGltYWdlVVJMOihOU1VSTCAqKWltYWdlVVJMIHRpdGxl
OihOU1N0cmluZyAqKXRpdGxlIGltYWdlQm91bmRzOihDR1JlY3QpaW1hZ2VCb3VuZHMKQEAgLTk5
MzgsNyArOTkyMyw3IEBAIC0gKHZvaWQpYWN0aW9uU2hlZXRBc3Npc3RhbnQ6KFdLQWN0aW9uU2hl
ZXRBc3Npc3RhbnQgKilhc3Npc3RhbnQgbG9va1VwSW1hZ2U6KFVJCiAtIChWS0ltYWdlQW5hbHl6
ZXIgKilpbWFnZUFuYWx5emVyCiB7CiAgICAgaWYgKCFfaW1hZ2VBbmFseXplcikKLSAgICAgICAg
X2ltYWdlQW5hbHl6ZXIgPSBhZG9wdE5TKFthbGxvY1ZLSW1hZ2VBbmFseXplckluc3RhbmNlKCkg
aW5pdF0pOworICAgICAgICBfaW1hZ2VBbmFseXplciA9IGFkb3B0TlMoW1BBTDo6YWxsb2NWS0lt
YWdlQW5hbHl6ZXJJbnN0YW5jZSgpIGluaXRdKTsKICAgICByZXR1cm4gX2ltYWdlQW5hbHl6ZXIu
Z2V0KCk7CiB9CiAKQEAgLTk5NDksNyArOTkzNCw3IEBAIC0gKEJPT0wpaGFzUGVuZGluZ0ltYWdl
QW5hbHlzaXNSZXF1ZXN0CiAKIC0gKHZvaWQpX3NldFVwSW1hZ2VBbmFseXNpcwogewotICAgIGlm
ICghV2ViS2l0Ojppc0xpdmVUZXh0RW5hYmxlZCgpKQorICAgIGlmICghV2ViS2l0Ojppc0xpdmVU
ZXh0QXZhaWxhYmxlQW5kRW5hYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKICAgICBfcGVuZGlu
Z0ltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllciA9IHN0ZDo6bnVsbG9wdDsKQEAgLTk5NzMs
NyArOTk1OCw3IEBAIC0gKHZvaWQpX3NldFVwSW1hZ2VBbmFseXNpcwogCiAtICh2b2lkKV90ZWFy
RG93bkltYWdlQW5hbHlzaXMKIHsKLSAgICBpZiAoIVdlYktpdDo6aXNMaXZlVGV4dEVuYWJsZWQo
KSkKKyAgICBpZiAoIVdlYktpdDo6aXNMaXZlVGV4dEF2YWlsYWJsZUFuZEVuYWJsZWQoKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgW19pbWFnZUFuYWx5c2lzR2VzdHVyZVJlY29nbml6ZXIgc2V0
RGVsZWdhdGU6bmlsXTsKQEAgLTEwMDA3LDcgKzk5OTIsNyBAQCAtICh2b2lkKV9jYW5jZWxJbWFn
ZUFuYWx5c2lzCiAKIC0gKFJldGFpblB0cjxWS0ltYWdlQW5hbHl6ZXJSZXF1ZXN0PiljcmVhdGVJ
bWFnZUFuYWx5c2lzUmVxdWVzdDooVktBbmFseXNpc1R5cGVzKWFuYWx5c2lzVHlwZXMgaW1hZ2U6
KFVJSW1hZ2UgKilpbWFnZSBpbWFnZVVSTDooTlNVUkwgKilpbWFnZVVSTAogewotICAgIGF1dG8g
cmVxdWVzdCA9IGFkb3B0TlMoW2FsbG9jVktJbWFnZUFuYWx5emVyUmVxdWVzdEluc3RhbmNlKCkg
aW5pdFdpdGhJbWFnZTppbWFnZSBvcmllbnRhdGlvbjpWS0ltYWdlT3JpZW50YXRpb25VcCByZXF1
ZXN0VHlwZTphbmFseXNpc1R5cGVzXSk7CisgICAgYXV0byByZXF1ZXN0ID0gYWRvcHROUyhbUEFM
OjphbGxvY1ZLSW1hZ2VBbmFseXplclJlcXVlc3RJbnN0YW5jZSgpIGluaXRXaXRoSW1hZ2U6aW1h
Z2Ugb3JpZW50YXRpb246VktJbWFnZU9yaWVudGF0aW9uVXAgcmVxdWVzdFR5cGU6YW5hbHlzaXNU
eXBlc10pOwogICAgIFtyZXF1ZXN0IHNldEltYWdlVVJMOmltYWdlVVJMXTsKICAgICBbcmVxdWVz
dCBzZXRQYWdlVVJMOltOU1VSTCBfd2ViX1VSTFdpdGhXVEZTdHJpbmc6X3BhZ2UtPmN1cnJlbnRV
UkwoKV1dOwogICAgIHJldHVybiByZXF1ZXN0OwpAQCAtMTAwNjMsNyArMTAwNDgsNyBAQCAtICh2
b2lkKXJlcXVlc3RUZXh0UmVjb2duaXRpb246KE5TVVJMICopaW1hZ2VVUkwgaW1hZ2VEYXRhOihj
b25zdCBXZWJLaXQ6OlNoYXJlYQogCiAtICh2b2lkKWltYWdlQW5hbHlzaXNHZXN0dXJlRGlkQmVn
aW46KFdLSW1hZ2VBbmFseXNpc0dlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIK
IHsKLSAgICBBU1NFUlQoV2ViS2l0Ojppc0xpdmVUZXh0RW5hYmxlZCgpKTsKKyAgICBBU1NFUlQo
V2ViS2l0Ojppc0xpdmVUZXh0QXZhaWxhYmxlQW5kRW5hYmxlZCgpKTsKIAogICAgIGF1dG8gcmVx
dWVzdElkZW50aWZpZXIgPSBXZWJLaXQ6OkltYWdlQW5hbHlzaXNSZXF1ZXN0SWRlbnRpZmllcjo6
Z2VuZXJhdGUoKTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>