<?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>201278</bug_id>
          
          <creation_ts>2019-08-28 20:14:11 -0700</creation_ts>
          <short_desc>Remove HAVE_PASSKIT_GRANULAR_ERRORS conditional</short_desc>
          <delta_ts>2020-12-27 12:34:18 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200694</see_also>
          <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="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>achristensen</cc>
    
    <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>l.yagamiam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1566068</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-08-28 20:14:11 -0700</bug_when>
    <thetext>HAVE_PASSKIT_GRANULAR_ERRORS is always True, so remove the conditional tests, keeping the True branches and removing the False branches.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566070</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-28 20:14:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/54821052&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566431</commentid>
    <comment_count>2</comment_count>
      <attachid>377641</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-08-29 15:48:33 -0700</bug_when>
    <thetext>Created attachment 377641
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566553</commentid>
    <comment_count>3</comment_count>
      <attachid>377641</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-29 22:00:22 -0700</bug_when>
    <thetext>Comment on attachment 377641
Patch

Clearing flags on attachment: 377641

Committed r249314: &lt;https://trac.webkit.org/changeset/249314&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1566554</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-29 22:00:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>377641</attachid>
            <date>2019-08-29 15:48:33 -0700</date>
            <delta_ts>2019-08-29 22:00:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201278-20190829154832.patch</filename>
            <type>text/plain</type>
            <size>26163</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ5Mjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDJlM2FjOTg0NzU1MmEzYTM5MGNhODQ3
NDU2NmNhNDQ3Y2E3ZjE2ZjAuLjM0ZjViYWM3NjFmMGEwNzgyN2E5ZWNhMjI5YzA3MDZmNDIwOTdl
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTktMDgtMjggIEtlaXRoIFJvbGxpbiAgPGtyb2xs
aW5AYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSBIQVZFX1BBU1NLSVRfR1JBTlVMQVJfRVJS
T1JTIGNvbmRpdGlvbmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDEyNzgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0ODIxMDUyPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEhBVkVfUEFTU0tJVF9H
UkFOVUxBUl9FUlJPUlMgaXMgYWx3YXlzIFRydWUsIHNvIHJlbW92ZSB0aGUgY29uZGl0aW9uYWwK
KyAgICAgICAgdGVzdHMsIGtlZXBpbmcgdGhlIFRydWUgYnJhbmNoZXMgYW5kIHJlbW92aW5nIHRo
ZSBGYWxzZSBicmFuY2hlcy4KKworICAgICAgICAqIHd0Zi9GZWF0dXJlRGVmaW5lcy5oOgorCiAy
MDE5LTA4LTE0ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KIAogICAgICAgICBV
cGRhdGUgLnhjY29uZmlnIHN5bWJvbHMgdG8gcmVmbGVjdCB0aGUgY3VycmVudCBzZXQgb2YgcGFz
dCBhbmQgZnV0dXJlIHByb2R1Y3QgdmVyc2lvbnMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCA2NmNj
MzQ5OGE4MTJmNWQwYTdkOGFlNGU5NzExOTRkNTZkZDAyYWM2Li5jNDgzZDExMDVhN2IxNDgxOTc2
MmQ1NjM3ZDBjYTRmMWNmNWYwYzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBA
QAorMjAxOS0wOC0yOCAgS2VpdGggUm9sbGluICA8a3JvbGxpbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlIEhBVkVfUEFTU0tJVF9HUkFOVUxBUl9FUlJPUlMgY29uZGl0aW9uYWwKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMTI3OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vNTQ4MjEwNTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSEFWRV9QQVNTS0lUX0dSQU5VTEFSX0VSUk9SUyBpcyBhbHdh
eXMgVHJ1ZSwgc28gcmVtb3ZlIHRoZSBjb25kaXRpb25hbAorICAgICAgICB0ZXN0cywga2VlcGlu
ZyB0aGUgVHJ1ZSBicmFuY2hlcyBhbmQgcmVtb3ZpbmcgdGhlIEZhbHNlIGJyYW5jaGVzLgorCisg
ICAgICAgICogcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oOgorICAgICAgICAqIHBhbC9jb2Nv
YS9QYXNzS2l0U29mdExpbmsubW06CisKIDIwMTktMDgtMjggIEtlaXRoIFJvbGxpbiAgPGtyb2xs
aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBDQ0JpZ051bSBmYWxsYmFjayBjb2RlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCmluZGV4IDEzZjc4ODEzZTQ0OTkyMjhiYzU3OTM2ZDM1MTdhOGY2YWM1NDQ5YmYuLmI2YjEw
YTBkZGYzNDUwNGQwMGEzODk2NjRlNmZjOTI0ZGFhYWJlYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MzUgQEAKKzIwMTktMDgtMjggIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgorCisg
ICAgICAgIFJlbW92ZSBIQVZFX1BBU1NLSVRfR1JBTlVMQVJfRVJST1JTIGNvbmRpdGlvbmFsCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDEyNzgKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0ODIxMDUyPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEhBVkVfUEFTU0tJVF9HUkFOVUxBUl9FUlJPUlMgaXMg
YWx3YXlzIFRydWUsIHNvIHJlbW92ZSB0aGUgY29uZGl0aW9uYWwKKyAgICAgICAgdGVzdHMsIGtl
ZXBpbmcgdGhlIFRydWUgYnJhbmNoZXMgYW5kIHJlbW92aW5nIHRoZSBGYWxzZSBicmFuY2hlcy4K
KworICAgICAgICAqIFBsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVy
Lm1tOgorICAgICAgICAoV2ViS2l0OjpQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29t
cGxldGVQYXltZW50U2Vzc2lvbik6CisgICAgICAgIChXZWJLaXQ6OlBheW1lbnRBdXRob3JpemF0
aW9uUHJlc2VudGVyOjpjb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbik6CisgICAgICAg
ICogUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbToK
KyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUg
cGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRBdXRob3JpemVQYXltZW50OmNv
bXBsZXRpb246XSk6IERlbGV0ZWQuCisgICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25W
aWV3Q29udHJvbGxlckRlbGVnYXRlIHBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6
ZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Q6Y29tcGxldGlvbjpdKTogRGVsZXRlZC4KKyAgICAgICAg
KC1bV0tQYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyRGVsZWdhdGUgcGF5bWVudEF1
dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Q6Y29tcGxl
dGlvbjpdKTogRGVsZXRlZC4KKyAgICAgICAgKC1bV0tQYXltZW50QXV0aG9yaXphdGlvblZpZXdD
b250cm9sbGVyRGVsZWdhdGUgcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcjpkaWRT
ZWxlY3RQYXltZW50TWV0aG9kOmNvbXBsZXRpb246XSk6IERlbGV0ZWQuCisgICAgICAgICogUGxh
dGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmg6CisgICAgICAgICog
UGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLm1tOgorICAgICAg
ICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgY29tcGxldGVQYXltZW50TWV0aG9k
U2VsZWN0aW9uOl0pOgorICAgICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUg
Y29tcGxldGVQYXltZW50U2Vzc2lvbjplcnJvcnM6ZGlkUmVhY2hGaW5hbFN0YXRlOl0pOgorICAg
ICAgICAoLVtXS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUgY29tcGxldGVTaGlwcGluZ0Nv
bnRhY3RTZWxlY3Rpb246c3VtbWFyeUl0ZW1zOnNoaXBwaW5nTWV0aG9kczplcnJvcnM6XSk6Cisg
ICAgICAgICgtW1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZSBjb21wbGV0ZVNoaXBwaW5n
TWV0aG9kU2VsZWN0aW9uOl0pOgorICAgICAgICAqIFNoYXJlZC9BcHBsZVBheS9jb2NvYS9XZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYXlt
ZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZvcm1DYW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2Fy
ZCk6CisgICAgICAgIChXZWJLaXQ6OnRvUEtDb250YWN0RmllbGRzKToKKyAgICAgICAgKFdlYktp
dDo6dG9OU1NldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBheW1lbnRDb29yZGluYXRvclByb3h5
OjpwbGF0Zm9ybVBheW1lbnRSZXF1ZXN0KToKKyAgICAgICAgKFdlYktpdDo6dG9QS0FkZHJlc3NG
aWVsZCk6IERlbGV0ZWQuCisKIDIwMTktMDgtMTQgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBw
bGUuY29tPgogCiAgICAgICAgIFVwZGF0ZSAueGNjb25maWcgc3ltYm9scyB0byByZWZsZWN0IHRo
ZSBjdXJyZW50IHNldCBvZiBwYXN0IGFuZCBmdXR1cmUgcHJvZHVjdCB2ZXJzaW9ucy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmggYi9Tb3VyY2UvV1RGL3d0Zi9G
ZWF0dXJlRGVmaW5lcy5oCmluZGV4IGFiNDAxYjI1NDFkMTdmMzZjNmUxMTQzNzZiN2Q0MzE4ZjUy
NjBmMmEuLjNkYTA4N2ZmNGQyNWJlMzMwOTZlY2IzNzZjZjUxZDA3MzdlNWI4NjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvd3RmL0ZlYXR1cmVEZWZpbmVzLmgKKysrIGIvU291cmNlL1dURi93dGYv
RmVhdHVyZURlZmluZXMuaApAQCAtMjA1LDEwICsyMDUsNiBAQCB0aGUgcHVibGljIGlPUyBTREsu
IFNlZSA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTc5MTY3Pi4gKi8KICNkZWZpbmUgRU5BQkxFX01F
RElBX1NPVVJDRSAwCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEhBVkVfUEFTU0tJVF9HUkFOVUxB
Ul9FUlJPUlMpCi0jZGVmaW5lIEhBVkVfUEFTU0tJVF9HUkFOVUxBUl9FUlJPUlMgMQotI2VuZGlm
Ci0KICNpZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRfQVBJX1RZUEUpCiAjZGVmaW5lIEhBVkVfUEFT
U0tJVF9BUElfVFlQRSAxCiAjZW5kaWYKQEAgLTI5NSwxMCArMjkxLDYgQEAgdGhlIHB1YmxpYyBp
T1MgU0RLLiBTZWUgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3OTE2Nz4uICovCiAjZGVmaW5lIEVO
QUJMRV9NRURJQV9TT1VSQ0UgMQogI2VuZGlmCiAKLSNpZiAhZGVmaW5lZChIQVZFX1BBU1NLSVRf
R1JBTlVMQVJfRVJST1JTKQotI2RlZmluZSBIQVZFX1BBU1NLSVRfR1JBTlVMQVJfRVJST1JTIDEK
LSNlbmRpZgotCiAjaWYgIWRlZmluZWQoSEFWRV9QQVNTS0lUX0FQSV9UWVBFKQogI2RlZmluZSBI
QVZFX1BBU1NLSVRfQVBJX1RZUEUgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oIGIvU291cmNlL1dlYkNvcmUvUEFML3Bh
bC9jb2NvYS9QYXNzS2l0U29mdExpbmsuaAppbmRleCAxOTE1MmE0Y2RkOGEwNWM5Nzg2ZjA0NjMz
YWNhMjY3OTU2MTM0N2VmLi40OWE1YWRhYzZiYmU2ZTI4ZjNkNWFmOTE0ZjY1MjA3NzJmYTkyY2Ey
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGlu
ay5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvY29jb2EvUGFzc0tpdFNvZnRMaW5rLmgK
QEAgLTQ5LDcgKzQ5LDYgQEAgU09GVF9MSU5LX0NMQVNTX0ZPUl9IRUFERVIoUEFMLCBQS1BheW1l
bnRBdXRob3JpemF0aW9uQ29udHJvbGxlcikKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfSEVBREVS
KFBBTCwgUGFzc0tpdCwgUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyQW5k
RG9tYWluLCB2b2lkLCAoTlNTdHJpbmcgKmlkZW50aWZpZXIsIE5TU3RyaW5nICpkb21haW4sIFBL
Q2FuTWFrZVBheW1lbnRzQ29tcGxldGlvbiBjb21wbGV0aW9uKSwgKGlkZW50aWZpZXIsIGRvbWFp
biwgY29tcGxldGlvbikpCiBTT0ZUX0xJTktfRlVOQ1RJT05fRk9SX0hFQURFUihQQUwsIFBhc3NL
aXQsIFBLRHJhd0FwcGxlUGF5QnV0dG9uLCB2b2lkLCAoQ0dDb250ZXh0UmVmIGNvbnRleHQsIENH
UmVjdCBkcmF3UmVjdCwgQ0dGbG9hdCBzY2FsZSwgUEtQYXltZW50QnV0dG9uVHlwZSB0eXBlLCBQ
S1BheW1lbnRCdXR0b25TdHlsZSBzdHlsZSwgTlNTdHJpbmcgKmxhbmd1YWdlQ29kZSksIChjb250
ZXh0LCBkcmF3UmVjdCwgc2NhbGUsIHR5cGUsIHN0eWxlLCBsYW5ndWFnZUNvZGUpKQogCi0jaWYg
SEFWRShQQVNTS0lUX0dSQU5VTEFSX0VSUk9SUykKIFNPRlRfTElOS19DTEFTU19GT1JfSEVBREVS
KFBBTCwgUEtQYXltZW50QXV0aG9yaXphdGlvblJlc3VsdCkKIFNPRlRfTElOS19DTEFTU19GT1Jf
SEVBREVSKFBBTCwgUEtQYXltZW50UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGUpCiBTT0ZUX0xJ
TktfQ0xBU1NfRk9SX0hFQURFUihQQUwsIFBLUGF5bWVudFJlcXVlc3RTaGlwcGluZ0NvbnRhY3RV
cGRhdGUpCkBAIC02NSw2ICs2NCw1IEBAIFNPRlRfTElOS19DT05TVEFOVF9GT1JfSEVBREVSKFBB
TCwgUGFzc0tpdCwgUEtQYXltZW50RXJyb3JEb21haW4sIE5TU3RyaW5nICopCiBTT0ZUX0xJTktf
Q09OU1RBTlRfRk9SX0hFQURFUihQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEVycm9yUG9zdGFsQWRk
cmVzc1VzZXJJbmZvS2V5LCBQS1BheW1lbnRFcnJvcktleSkKIAogU09GVF9MSU5LX0ZVTkNUSU9O
X0ZPUl9IRUFERVIoUEFMLCBQYXNzS2l0LCBQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElk
ZW50aWZpZXJEb21haW5BbmRTb3VyY2VBcHBsaWNhdGlvbiwgdm9pZCwgKE5TU3RyaW5nICppZGVu
dGlmaWVyLCBOU1N0cmluZyAqZG9tYWluLCBOU1N0cmluZyAqc291cmNlQXBwbGljYXRpb25TZWNv
bmRhcnlJZGVudGlmaWVyLCBQS0Nhbk1ha2VQYXltZW50c0NvbXBsZXRpb24gY29tcGxldGlvbiks
IChpZGVudGlmaWVyLCBkb21haW4sIHNvdXJjZUFwcGxpY2F0aW9uU2Vjb25kYXJ5SWRlbnRpZmll
ciwgY29tcGxldGlvbikpCi0jZW5kaWYKIAogI2VuZGlmIC8vIFVTRShQQVNTS0lUKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9jb2NvYS9QYXNzS2l0U29mdExpbmsubW0gYi9T
b3VyY2UvV2ViQ29yZS9QQUwvcGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQppbmRleCA0MGJl
YWY4ZDQzM2VkMjMzZDQ1Mjc4OTA5ZTk0OWUwNGEwNjViNmNiLi4zNGVlOGU1YmY1MzIwZGU1ZWIx
MDYwYzAyNzBmOTA0MThjMjVlYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L2NvY29hL1Bhc3NLaXRTb2Z0TGluay5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL2Nv
Y29hL1Bhc3NLaXRTb2Z0TGluay5tbQpAQCAtNTMsNyArNTMsNiBAQCBTT0ZUX0xJTktfQ0xBU1Nf
Rk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBLUGF5bWVudEF1dGhvcml6YXRp
b25Db250cgogU09GVF9MSU5LX0ZVTkNUSU9OX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQ
YXNzS2l0LCBQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJBbmREb21haW4s
IHZvaWQsIChOU1N0cmluZyAqaWRlbnRpZmllciwgTlNTdHJpbmcgKmRvbWFpbiwgUEtDYW5NYWtl
UGF5bWVudHNDb21wbGV0aW9uIGNvbXBsZXRpb24pLCAoaWRlbnRpZmllciwgZG9tYWluLCBjb21w
bGV0aW9uKSwgUEFMX0VYUE9SVCkKIFNPRlRfTElOS19GVU5DVElPTl9GT1JfU09VUkNFKFBBTCwg
UGFzc0tpdCwgUEtEcmF3QXBwbGVQYXlCdXR0b24sIHZvaWQsIChDR0NvbnRleHRSZWYgY29udGV4
dCwgQ0dSZWN0IGRyYXdSZWN0LCBDR0Zsb2F0IHNjYWxlLCBQS1BheW1lbnRCdXR0b25UeXBlIHR5
cGUsIFBLUGF5bWVudEJ1dHRvblN0eWxlIHN0eWxlLCBOU1N0cmluZyAqbGFuZ3VhZ2VDb2RlKSwg
KGNvbnRleHQsIGRyYXdSZWN0LCBzY2FsZSwgdHlwZSwgc3R5bGUsIGxhbmd1YWdlQ29kZSkpCiAK
LSNpZiBIQVZFKFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9T
T1VSQ0VfV0lUSF9FWFBPUlQoUEFMLCBQYXNzS2l0LCBQS1BheW1lbnRBdXRob3JpemF0aW9uUmVz
dWx0LCBQQUxfRVhQT1JUKQogU09GVF9MSU5LX0NMQVNTX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBQYXNzS2l0LCBQS1BheW1lbnRSZXF1ZXN0UGF5bWVudE1ldGhvZFVwZGF0ZSwgUEFMX0VY
UE9SVCkKIFNPRlRfTElOS19DTEFTU19GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tp
dCwgUEtQYXltZW50UmVxdWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZSwgUEFMX0VYUE9SVCkKQEAg
LTY5LDYgKzY4LDUgQEAgU09GVF9MSU5LX0NPTlNUQU5UX0ZPUl9TT1VSQ0VfV0lUSF9FWFBPUlQo
UEFMLCBQYXNzS2l0LCBQS1BheW1lbnRFcnJvckRvbWFpbiwgTlMKIFNPRlRfTElOS19DT05TVEFO
VF9GT1JfU09VUkNFX1dJVEhfRVhQT1JUKFBBTCwgUGFzc0tpdCwgUEtQYXltZW50RXJyb3JQb3N0
YWxBZGRyZXNzVXNlckluZm9LZXksIFBLUGF5bWVudEVycm9yS2V5LCBQQUxfRVhQT1JUKQogCiBT
T0ZUX0xJTktfRlVOQ1RJT05fRk9SX1NPVVJDRV9XSVRIX0VYUE9SVChQQUwsIFBhc3NLaXQsIFBL
Q2FuTWFrZVBheW1lbnRzV2l0aE1lcmNoYW50SWRlbnRpZmllckRvbWFpbkFuZFNvdXJjZUFwcGxp
Y2F0aW9uLCB2b2lkLCAoTlNTdHJpbmcgKmlkZW50aWZpZXIsIE5TU3RyaW5nICpkb21haW4sIE5T
U3RyaW5nICpzb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIsIFBLQ2FuTWFrZVBh
eW1lbnRzQ29tcGxldGlvbiBjb21wbGV0aW9uKSwgKGlkZW50aWZpZXIsIGRvbWFpbiwgc291cmNl
QXBwbGljYXRpb25TZWNvbmRhcnlJZGVudGlmaWVyLCBjb21wbGV0aW9uKSwgUEFMX0VYUE9SVCkK
LSNlbmRpZgogCiAjZW5kaWYgLy8gVVNFKFBBU1NLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tIGIvU291
cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlci5t
bQppbmRleCBmNWY1ZWEzNGE5NDIxYzU3ZGI5MGZhMTMxOWMzZmNmZTA3ZGVlZTI2Li4xMmVhYjE1
ZGExODYwZmRhNjk0Yzg3ZWIzZTY4OWJhOGI1MzQ2MzJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1BsYXRmb3JtL2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uUHJlc2VudGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50
ZXIubW0KQEAgLTM0LDcgKzM0LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvUGF5bWVudE1lcmNoYW50
U2Vzc2lvbi5oPgogI2ltcG9ydCA8cGFsL2NvY29hL1Bhc3NLaXRTb2Z0TGluay5oPgogCi0jaWYg
SEFWRShQQVNTS0lUX0dSQU5VTEFSX0VSUk9SUykKIFNPRlRfTElOS19GUkFNRVdPUksoQ29udGFj
dHMpOwogU09GVF9MSU5LX0NPTlNUQU5UKENvbnRhY3RzLCBDTlBvc3RhbEFkZHJlc3NDaXR5S2V5
LCBOU1N0cmluZyAqKTsKIFNPRlRfTElOS19DT05TVEFOVChDb250YWN0cywgQ05Qb3N0YWxBZGRy
ZXNzQ291bnRyeUtleSwgTlNTdHJpbmcgKik7CkBAIC00NCwxNSArNDMsMTIgQEAgU09GVF9MSU5L
X0NPTlNUQU5UKENvbnRhY3RzLCBDTlBvc3RhbEFkZHJlc3NTdGF0ZUtleSwgTlNTdHJpbmcgKik7
CiBTT0ZUX0xJTktfQ09OU1RBTlQoQ29udGFjdHMsIENOUG9zdGFsQWRkcmVzc1N0cmVldEtleSwg
TlNTdHJpbmcgKik7CiBTT0ZUX0xJTktfQ09OU1RBTlQoQ29udGFjdHMsIENOUG9zdGFsQWRkcmVz
c1N1YkFkbWluaXN0cmF0aXZlQXJlYUtleSwgTlNTdHJpbmcgKik7CiBTT0ZUX0xJTktfQ09OU1RB
TlQoQ29udGFjdHMsIENOUG9zdGFsQWRkcmVzc1N1YkxvY2FsaXR5S2V5LCBOU1N0cmluZyAqKTsK
LSNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogLy8gRklYTUU6IFJhdGhlciB0aGFuIGhh
dmluZyB0aGVzZSBmcmVlIGZ1bmN0aW9ucyBzY2F0dGVyZWQgYWJvdXQsIEFwcGxlIFBheSBkYXRh
IHR5cGVzIHNob3VsZCBrbm93CiAvLyBob3cgdG8gY29udmVydCB0aGVtc2VsdmVzIHRvIGFuZCBm
cm9tIHRoZWlyIHBsYXRmb3JtIHJlcHJlc2VudGF0aW9ucy4KIAotI2lmIEhBVkUoUEFTU0tJVF9H
UkFOVUxBUl9FUlJPUlMpCi0KIHN0YXRpYyBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzIHRv
UEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyhXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cyBzdGF0dXMpCiB7CiAgICAgc3dpdGNoIChzdGF0dXMpIHsKQEAgLTE3Miw3NyArMTY4
LDYgQEAgc3RhdGljIE5TQXJyYXkgKnRvTlNFcnJvcnMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OlBh
eW1lbnRFcnJvcj4mIGVycm9ycykKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi0jZW5kaWYgLy8g
SEFWRShQQVNTS0lUX0dSQU5VTEFSX0VSUk9SUykKLQotI2lmICFIQVZFKFBBU1NLSVRfR1JBTlVM
QVJfRVJST1JTKQotCi1zdGF0aWMgUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cyB0b1BLUGF5
bWVudEF1dGhvcml6YXRpb25TdGF0dXMoY29uc3QgT3B0aW9uYWw8V2ViQ29yZTo6UGF5bWVudEF1
dGhvcml6YXRpb25SZXN1bHQ+JiByZXN1bHQpCi17Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAgICAg
IHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzU3VjY2VzczsKLQotICAgIGlmIChy
ZXN1bHQtPmVycm9ycy5zaXplKCkgPT0gMSkgewotICAgICAgICBhdXRvJiBlcnJvciA9IHJlc3Vs
dC0+ZXJyb3JzWzBdOwotICAgICAgICBzd2l0Y2ggKGVycm9yLmNvZGUpIHsKLSAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvZGU6OlVua25vd246Ci0gICAgICAgIGNhc2UgV2Vi
Q29yZTo6UGF5bWVudEVycm9yOjpDb2RlOjpBZGRyZXNzVW5zZXJ2aWNlYWJsZToKLSAgICAgICAg
ICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFpbHVyZTsKLQotICAgICAg
ICBjYXNlIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6Q29kZTo6QmlsbGluZ0NvbnRhY3RJbnZhbGlk
OgotICAgICAgICAgICAgcmV0dXJuIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNJbnZhbGlk
QmlsbGluZ1Bvc3RhbEFkZHJlc3M7Ci0KLSAgICAgICAgY2FzZSBXZWJDb3JlOjpQYXltZW50RXJy
b3I6OkNvZGU6OlNoaXBwaW5nQ29udGFjdEludmFsaWQ6Ci0gICAgICAgICAgICBpZiAoZXJyb3Iu
Y29udGFjdEZpZWxkICYmIGVycm9yLmNvbnRhY3RGaWVsZCA9PSBXZWJDb3JlOjpQYXltZW50RXJy
b3I6OkNvbnRhY3RGaWVsZDo6UG9zdGFsQWRkcmVzcykKLSAgICAgICAgICAgICAgICByZXR1cm4g
UEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c0ludmFsaWRTaGlwcGluZ1Bvc3RhbEFkZHJlc3M7
Ci0KLSAgICAgICAgICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzSW52YWxp
ZFNoaXBwaW5nQ29udGFjdDsKLSAgICAgICAgfQotICAgIH0KLQotICAgIHN3aXRjaCAocmVzdWx0
LT5zdGF0dXMpIHsKLSAgICBjYXNlIFdlYkNvcmU6OlBheW1lbnRBdXRob3JpemF0aW9uU3RhdHVz
OjpTdWNjZXNzOgotICAgICAgICByZXR1cm4gUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c1N1
Y2Nlc3M7Ci0gICAgY2FzZSBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6RmFp
bHVyZToKLSAgICAgICAgcmV0dXJuIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNGYWlsdXJl
OwotICAgIGNhc2UgV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlBJTlJlcXVp
cmVkOgotICAgICAgICByZXR1cm4gUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c1BJTlJlcXVp
cmVkOwotICAgIGNhc2UgV2ViQ29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXM6OlBJTklu
Y29ycmVjdDoKLSAgICAgICAgcmV0dXJuIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNQSU5J
bmNvcnJlY3Q7Ci0gICAgY2FzZSBXZWJDb3JlOjpQYXltZW50QXV0aG9yaXphdGlvblN0YXR1czo6
UElOTG9ja291dDoKLSAgICAgICAgcmV0dXJuIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNQ
SU5Mb2Nrb3V0OwotICAgIH0KLQotICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3Rh
dHVzRmFpbHVyZTsKLX0KLQotc3RhdGljIFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXMgdG9Q
S1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OlNoaXBw
aW5nQ29udGFjdFVwZGF0ZT4mIHVwZGF0ZSkKLXsKLSAgICBpZiAoIXVwZGF0ZSB8fCB1cGRhdGUt
PmVycm9ycy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9u
U3RhdHVzU3VjY2VzczsKLQotICAgIGlmICh1cGRhdGUtPmVycm9ycy5zaXplKCkgPT0gMSkgewot
ICAgICAgICBhdXRvJiBlcnJvciA9IHVwZGF0ZS0+ZXJyb3JzWzBdOwotICAgICAgICBzd2l0Y2gg
KGVycm9yLmNvZGUpIHsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvZGU6
OlVua25vd246Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6UGF5bWVudEVycm9yOjpDb2RlOjpBZGRy
ZXNzVW5zZXJ2aWNlYWJsZToKLSAgICAgICAgICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzRmFpbHVyZTsKLQotICAgICAgICBjYXNlIFdlYkNvcmU6OlBheW1lbnRFcnJvcjo6
Q29kZTo6QmlsbGluZ0NvbnRhY3RJbnZhbGlkOgotICAgICAgICAgICAgcmV0dXJuIFBLUGF5bWVu
dEF1dGhvcml6YXRpb25TdGF0dXNJbnZhbGlkQmlsbGluZ1Bvc3RhbEFkZHJlc3M7Ci0KLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvZGU6OlNoaXBwaW5nQ29udGFjdEludmFs
aWQ6Ci0gICAgICAgICAgICBpZiAoZXJyb3IuY29udGFjdEZpZWxkICYmIGVycm9yLmNvbnRhY3RG
aWVsZCA9PSBXZWJDb3JlOjpQYXltZW50RXJyb3I6OkNvbnRhY3RGaWVsZDo6UG9zdGFsQWRkcmVz
cykKLSAgICAgICAgICAgICAgICByZXR1cm4gUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c0lu
dmFsaWRTaGlwcGluZ1Bvc3RhbEFkZHJlc3M7Ci0KLSAgICAgICAgICAgIHJldHVybiBQS1BheW1l
bnRBdXRob3JpemF0aW9uU3RhdHVzSW52YWxpZFNoaXBwaW5nQ29udGFjdDsKLSAgICAgICAgfQot
ICAgIH0KLQotICAgIHJldHVybiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzRmFpbHVyZTsK
LX0KLQotI2VuZGlmIC8vICFIQVZFKFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQotCiBzdGF0aWMg
TlNBcnJheSAqdG9QS1NoaXBwaW5nTWV0aG9kcyhjb25zdCBWZWN0b3I8V2ViQ29yZTo6QXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kPiYgc2hpcHBpbmdNZXRob2Rz
KQogewogICAgIE5TTXV0YWJsZUFycmF5ICpwa1NoaXBwaW5nTWV0aG9kcyA9IFtOU011dGFibGVB
cnJheSBhcnJheVdpdGhDYXBhY2l0eTpzaGlwcGluZ01ldGhvZHMuc2l6ZSgpXTsKQEAgLTI2Nywx
MyArMTkyLDggQEAgdm9pZCBQYXltZW50QXV0aG9yaXphdGlvblByZXNlbnRlcjo6Y29tcGxldGVQ
YXltZW50TWV0aG9kU2VsZWN0aW9uKGNvbnN0IE9wdGlvbmEKIHZvaWQgUGF5bWVudEF1dGhvcml6
YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlUGF5bWVudFNlc3Npb24oY29uc3QgT3B0aW9uYWw8V2Vi
Q29yZTo6UGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQ+JiByZXN1bHQpCiB7CiAgICAgQVNTRVJU
KHBsYXRmb3JtRGVsZWdhdGUoKSk7Ci0jaWYgSEFWRShQQVNTS0lUX0dSQU5VTEFSX0VSUk9SUykK
ICAgICBhdXRvIHN0YXR1cyA9IHJlc3VsdCA/IHRvUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1
cyhyZXN1bHQtPnN0YXR1cykgOiBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzU3VjY2VzczsK
ICAgICBOU0FycmF5ICplcnJvcnMgPSByZXN1bHQgPyB0b05TRXJyb3JzKHJlc3VsdC0+ZXJyb3Jz
KSA6IEBbIF07Ci0jZWxzZQotICAgIGF1dG8gc3RhdHVzID0gdG9QS1BheW1lbnRBdXRob3JpemF0
aW9uU3RhdHVzKHJlc3VsdCk7Ci0gICAgTlNBcnJheSAqZXJyb3JzID0gQFsgXTsKLSNlbmRpZgog
ICAgIFtwbGF0Zm9ybURlbGVnYXRlKCkgY29tcGxldGVQYXltZW50U2Vzc2lvbjpzdGF0dXMgZXJy
b3JzOmVycm9ycyBkaWRSZWFjaEZpbmFsU3RhdGU6V2ViQ29yZTo6aXNGaW5hbFN0YXRlUmVzdWx0
KHJlc3VsdCldOwogfQogCkBAIC0yODIsMTMgKzIwMiw4IEBAIHZvaWQgUGF5bWVudEF1dGhvcml6
YXRpb25QcmVzZW50ZXI6OmNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uKGNvbnN0IE9w
dGlvCiAgICAgQVNTRVJUKHBsYXRmb3JtRGVsZWdhdGUoKSk7CiAgICAgTlNBcnJheSAqc2hpcHBp
bmdNZXRob2RzID0gdXBkYXRlID8gdG9QS1NoaXBwaW5nTWV0aG9kcyh1cGRhdGUtPm5ld1NoaXBw
aW5nTWV0aG9kcykgOiBwbGF0Zm9ybURlbGVnYXRlKCkuc2hpcHBpbmdNZXRob2RzOwogICAgIE5T
QXJyYXkgKnN1bW1hcnlJdGVtcyA9IHVwZGF0ZSA/IHRvUEtQYXltZW50U3VtbWFyeUl0ZW1zKHVw
ZGF0ZS0+bmV3VG90YWxBbmRMaW5lSXRlbXMpIDogcGxhdGZvcm1EZWxlZ2F0ZSgpLnN1bW1hcnlJ
dGVtczsKLSNpZiBIQVZFKFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQogICAgIE5TQXJyYXkgKmVy
cm9ycyA9IHVwZGF0ZSA/IHRvTlNFcnJvcnModXBkYXRlLT5lcnJvcnMpIDogQFsgXTsKICAgICBh
dXRvIHN0YXR1cyA9IFBLUGF5bWVudEF1dGhvcml6YXRpb25TdGF0dXNTdWNjZXNzOwotI2Vsc2UK
LSAgICBOU0FycmF5ICplcnJvcnMgPSBAWyBdOwotICAgIGF1dG8gc3RhdHVzID0gdG9QS1BheW1l
bnRBdXRob3JpemF0aW9uU3RhdHVzKHVwZGF0ZSk7Ci0jZW5kaWYKICAgICBbcGxhdGZvcm1EZWxl
Z2F0ZSgpIGNvbXBsZXRlU2hpcHBpbmdDb250YWN0U2VsZWN0aW9uOnN0YXR1cyBzdW1tYXJ5SXRl
bXM6c3VtbWFyeUl0ZW1zIHNoaXBwaW5nTWV0aG9kczpzaGlwcGluZ01ldGhvZHMgZXJyb3JzOmVy
cm9yc107CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvUGF5
bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQvUGxhdGZv
cm0vY29jb2EvUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlci5tbQppbmRleCBjYjAz
MDkwNThmZWE4MTkyZTU3YTc5MTk0OWNiNWQ0YWY1NjI4NzI4Li41NTY2ZjVhNmNhNjQzNjhhMWJl
ZTBmYTA4Yzg1M2MxMmFiNTU2NTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1BsYXRmb3Jt
L2NvY29hL1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9QYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVy
Lm1tCkBAIC02Myw4ICs2Myw2IEBAIC0gKHZvaWQpcGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29u
dHJvbGxlckRpZEZpbmlzaDooUEtQYXltZW50QXV0aG9yaXphdGlvblZpZXdDCiAgICAgW3NlbGYg
X2RpZEZpbmlzaF07CiB9CiAKLSNpZiBIQVZFKFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQotCiAt
ICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhv
cml6YXRpb25WaWV3Q29udHJvbGxlciAqKWNvbnRyb2xsZXIgZGlkQXV0aG9yaXplUGF5bWVudDoo
UEtQYXltZW50ICopcGF5bWVudCBoYW5kbGVyOih2b2lkICheKShQS1BheW1lbnRBdXRob3JpemF0
aW9uUmVzdWx0ICpyZXN1bHQpKWNvbXBsZXRpb24KIHsKICAgICBbc2VsZiBfZGlkQXV0aG9yaXpl
UGF5bWVudDpwYXltZW50IGNvbXBsZXRpb246Y29tcGxldGlvbl07CkBAIC04NSwzMCArODMsNiBA
QCAtICh2b2lkKXBheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1
dGhvcml6YXRpb25WaWV3Q29udHJvbGxlcgogICAgIFtzZWxmIF9kaWRTZWxlY3RQYXltZW50TWV0
aG9kOnBheW1lbnRNZXRob2QgY29tcGxldGlvbjpjb21wbGV0aW9uXTsKIH0KIAotI2Vsc2UKLQot
LSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyOihQS1BheW1lbnRBdXRo
b3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIGRpZEF1dGhvcml6ZVBheW1lbnQ6
KFBLUGF5bWVudCAqKXBheW1lbnQgY29tcGxldGlvbjoodm9pZCheKShQS1BheW1lbnRBdXRob3Jp
emF0aW9uU3RhdHVzKSljb21wbGV0aW9uCi17Ci0gICAgW3NlbGYgX2RpZEF1dGhvcml6ZVBheW1l
bnQ6cGF5bWVudCBjb21wbGV0aW9uOmNvbXBsZXRpb25dOwotfQotCi0tICh2b2lkKXBheW1lbnRB
dXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29u
dHJvbGxlciAqKWNvbnRyb2xsZXIgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2Q6KFBLU2hpcHBpbmdN
ZXRob2QgKilzaGlwcGluZ01ldGhvZCBjb21wbGV0aW9uOih2b2lkKF4pKFBLUGF5bWVudEF1dGhv
cml6YXRpb25TdGF0dXMsIE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4gKikpY29tcGxl
dGlvbgotewotICAgIFtzZWxmIF9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZDpzaGlwcGluZ01ldGhv
ZCBjb21wbGV0aW9uOmNvbXBsZXRpb25dOwotfQotCi0tICh2b2lkKXBheW1lbnRBdXRob3JpemF0
aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxlciAq
KWNvbnRyb2xsZXIgZGlkU2VsZWN0U2hpcHBpbmdDb250YWN0OihQS0NvbnRhY3QgKiljb250YWN0
IGNvbXBsZXRpb246KHZvaWQoXikoUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1cywgTlNBcnJh
eTxQS1NoaXBwaW5nTWV0aG9kICo+ICosIE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4g
KikpY29tcGxldGlvbgotewotICAgIFtzZWxmIF9kaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3Q6Y29u
dGFjdCBjb21wbGV0aW9uOmNvbXBsZXRpb25dOwotfQotCi0tICh2b2lkKXBheW1lbnRBdXRob3Jp
emF0aW9uVmlld0NvbnRyb2xsZXI6KFBLUGF5bWVudEF1dGhvcml6YXRpb25WaWV3Q29udHJvbGxl
ciAqKWNvbnRyb2xsZXIgZGlkU2VsZWN0UGF5bWVudE1ldGhvZDooUEtQYXltZW50TWV0aG9kICop
cGF5bWVudE1ldGhvZCBjb21wbGV0aW9uOih2b2lkKF4pKE5TQXJyYXk8UEtQYXltZW50U3VtbWFy
eUl0ZW0gKj4gKikpY29tcGxldGlvbgotewotICAgIFtzZWxmIF9kaWRTZWxlY3RQYXltZW50TWV0
aG9kOnBheW1lbnRNZXRob2QgY29tcGxldGlvbjpjb21wbGV0aW9uXTsKLX0KLQotI2VuZGlmCi0K
ICNwcmFnbWEgbWFyayBQS1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXJEZWxlZ2F0
ZVByaXZhdGUKIAogLSAodm9pZClwYXltZW50QXV0aG9yaXphdGlvblZpZXdDb250cm9sbGVyOihQ
S1BheW1lbnRBdXRob3JpemF0aW9uVmlld0NvbnRyb2xsZXIgKiljb250cm9sbGVyIHdpbGxGaW5p
c2hXaXRoRXJyb3I6KE5TRXJyb3IgKillcnJvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaCBiL1NvdXJjZS9X
ZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9yaXphdGlvbkRlbGVnYXRlLmgKaW5k
ZXggOWFhNTgxODBhYjRkOGMyMDQ2ZWIzOTVhMGMxNGYwYWYzNTk1ZDI1OS4uNDAzM2EzY2Q2ZGQ0
YjhmZGRmNDJkY2RlMTE5MDI2NDk3NTUwNDJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9Q
bGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1BsYXRmb3JtL2NvY29hL1dLUGF5bWVudEF1dGhvcml6YXRpb25EZWxlZ2F0ZS5o
CkBAIC0zOSwxNyArMzksMTAgQEAgY2xhc3MgUGF5bWVudEF1dGhvcml6YXRpb25QcmVzZW50ZXI7
CiAKIHVzaW5nIERpZFJlcXVlc3RNZXJjaGFudFNlc3Npb25Db21wbGV0aW9uID0gQmxvY2tQdHI8
dm9pZChQS1BheW1lbnRNZXJjaGFudFNlc3Npb24gKiwgTlNFcnJvciAqKT47CiAKLSNpZiBIQVZF
KFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQogdXNpbmcgRGlkQXV0aG9yaXplUGF5bWVudENvbXBs
ZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHQgKik+Owog
dXNpbmcgRGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBL
UGF5bWVudFJlcXVlc3RQYXltZW50TWV0aG9kVXBkYXRlICopPjsKIHVzaW5nIERpZFNlbGVjdFNo
aXBwaW5nQ29udGFjdENvbXBsZXRpb24gPSBCbG9ja1B0cjx2b2lkKFBLUGF5bWVudFJlcXVlc3RT
aGlwcGluZ0NvbnRhY3RVcGRhdGUgKik+OwogdXNpbmcgRGlkU2VsZWN0U2hpcHBpbmdNZXRob2RD
b21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQS1BheW1lbnRSZXF1ZXN0U2hpcHBpbmdNZXRob2RV
cGRhdGUgKik+OwotI2Vsc2UKLXVzaW5nIERpZEF1dGhvcml6ZVBheW1lbnRDb21wbGV0aW9uID0g
QmxvY2tQdHI8dm9pZChQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKT47Ci11c2luZyBEaWRT
ZWxlY3RQYXltZW50TWV0aG9kQ29tcGxldGlvbiA9IEJsb2NrUHRyPHZvaWQoTlNBcnJheSAqKT47
Ci11c2luZyBEaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9p
ZChQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBOU0FycmF5ICosIE5TQXJyYXkgKik+Owot
dXNpbmcgRGlkU2VsZWN0U2hpcHBpbmdNZXRob2RDb21wbGV0aW9uID0gQmxvY2tQdHI8dm9pZChQ
S1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzLCBOU0FycmF5ICopPjsKLSNlbmRpZgogCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm0vY29jb2EvV0tQYXltZW50QXV0aG9y
aXphdGlvbkRlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1l
bnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KaW5kZXggOGRmZTQzNjAzOTgyNGQ4ODgzYTE4NGM1
OWE4MWEyYTg3ODc2OTk3Yi4uOGJmYzAwZWRjZjZiOWU1OWUzYTYwMmI1ZTQyMDU0ODJlYmI4NzJi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9XS1BheW1lbnRBdXRo
b3JpemF0aW9uRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9jb2NvYS9X
S1BheW1lbnRBdXRob3JpemF0aW9uRGVsZWdhdGUubW0KQEAgLTYwLDQ5ICs2MCwzMSBAQCAtICh2
b2lkKWNvbXBsZXRlTWVyY2hhbnRWYWxpZGF0aW9uOihQS1BheW1lbnRNZXJjaGFudFNlc3Npb24g
KilzZXNzaW9uIGVycm9yOihOUwogLSAodm9pZCljb21wbGV0ZVBheW1lbnRNZXRob2RTZWxlY3Rp
b246KE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4gKilzdW1tYXJ5SXRlbXMKIHsKICAg
ICBfc3VtbWFyeUl0ZW1zID0gc3VtbWFyeUl0ZW1zOwotI2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxB
Ul9FUlJPUlMpCiAgICAgYXV0byB1cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50
UmVxdWVzdFBheW1lbnRNZXRob2RVcGRhdGVJbnN0YW5jZSgpIGluaXRXaXRoUGF5bWVudFN1bW1h
cnlJdGVtczpfc3VtbWFyeUl0ZW1zLmdldCgpXSk7CiAgICAgc3RkOjpleGNoYW5nZShfZGlkU2Vs
ZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsKLSNlbHNlCi0g
ICAgc3RkOjpleGNoYW5nZShfZGlkU2VsZWN0UGF5bWVudE1ldGhvZENvbXBsZXRpb24sIG5pbCko
X3N1bW1hcnlJdGVtcyk7Ci0jZW5kaWYKIH0KIAogLSAodm9pZCljb21wbGV0ZVBheW1lbnRTZXNz
aW9uOihQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzKXN0YXR1cyBlcnJvcnM6KE5TQXJyYXk8
TlNFcnJvciAqPiAqKWVycm9ycyBkaWRSZWFjaEZpbmFsU3RhdGU6KEJPT0wpZGlkUmVhY2hGaW5h
bFN0YXRlCiB7CiAgICAgX2RpZFJlYWNoRmluYWxTdGF0ZSA9IGRpZFJlYWNoRmluYWxTdGF0ZTsK
LSNpZiBIQVZFKFBBU1NLSVRfR1JBTlVMQVJfRVJST1JTKQogICAgIGF1dG8gcmVzdWx0ID0gYWRv
cHROUyhbUEFMOjphbGxvY1BLUGF5bWVudEF1dGhvcml6YXRpb25SZXN1bHRJbnN0YW5jZSgpIGlu
aXRXaXRoU3RhdHVzOnN0YXR1cyBlcnJvcnM6ZXJyb3JzXSk7CiAgICAgc3RkOjpleGNoYW5nZShf
ZGlkQXV0aG9yaXplUGF5bWVudENvbXBsZXRpb24sIG5pbCkocmVzdWx0LmdldCgpKTsKLSNlbHNl
Ci0gICAgQVNTRVJUKCFlcnJvcnMuY291bnQpOwotICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZEF1dGhv
cml6ZVBheW1lbnRDb21wbGV0aW9uLCBuaWwpKHN0YXR1cyk7Ci0jZW5kaWYKIH0KIAogLSAodm9p
ZCljb21wbGV0ZVNoaXBwaW5nQ29udGFjdFNlbGVjdGlvbjooUEtQYXltZW50QXV0aG9yaXphdGlv
blN0YXR1cylzdGF0dXMgc3VtbWFyeUl0ZW1zOihOU0FycmF5PFBLUGF5bWVudFN1bW1hcnlJdGVt
ICo+ICopc3VtbWFyeUl0ZW1zIHNoaXBwaW5nTWV0aG9kczooTlNBcnJheTxQS1NoaXBwaW5nTWV0
aG9kICo+ICopc2hpcHBpbmdNZXRob2RzIGVycm9yczooTlNBcnJheTxOU0Vycm9yICo+ICopZXJy
b3JzCiB7CiAgICAgX3N1bW1hcnlJdGVtcyA9IHN1bW1hcnlJdGVtczsKICAgICBfc2hpcHBpbmdN
ZXRob2RzID0gc2hpcHBpbmdNZXRob2RzOwotI2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxBUl9FUlJP
UlMpCiAgICAgQVNTRVJUKHN0YXR1cyA9PSBQS1BheW1lbnRBdXRob3JpemF0aW9uU3RhdHVzU3Vj
Y2Vzcyk7CiAgICAgYXV0byB1cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQYXltZW50UmVx
dWVzdFNoaXBwaW5nQ29udGFjdFVwZGF0ZUluc3RhbmNlKCkgaW5pdFdpdGhFcnJvcnM6ZXJyb3Jz
IHBheW1lbnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKSBzaGlwcGluZ01ldGhvZHM6
X3NoaXBwaW5nTWV0aG9kcy5nZXQoKV0pOwogICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVjdFNo
aXBwaW5nQ29udGFjdENvbXBsZXRpb24sIG5pbCkodXBkYXRlLmdldCgpKTsKLSNlbHNlCi0gICAg
QVNTRVJUKCFlcnJvcnMuY291bnQpOwotICAgIHN0ZDo6ZXhjaGFuZ2UoX2RpZFNlbGVjdFNoaXBw
aW5nQ29udGFjdENvbXBsZXRpb24sIG5pbCkoc3RhdHVzLCBfc2hpcHBpbmdNZXRob2RzLCBfc3Vt
bWFyeUl0ZW1zKTsKLSNlbmRpZgogfQogCiAtICh2b2lkKWNvbXBsZXRlU2hpcHBpbmdNZXRob2RT
ZWxlY3Rpb246KE5TQXJyYXk8UEtQYXltZW50U3VtbWFyeUl0ZW0gKj4gKilzdW1tYXJ5SXRlbXMK
IHsKICAgICBfc3VtbWFyeUl0ZW1zID0gc3VtbWFyeUl0ZW1zOwotI2lmIEhBVkUoUEFTU0tJVF9H
UkFOVUxBUl9FUlJPUlMpCiAgICAgYXV0byB1cGRhdGUgPSBhZG9wdE5TKFtQQUw6OmFsbG9jUEtQ
YXltZW50UmVxdWVzdFNoaXBwaW5nTWV0aG9kVXBkYXRlSW5zdGFuY2UoKSBpbml0V2l0aFBheW1l
bnRTdW1tYXJ5SXRlbXM6X3N1bW1hcnlJdGVtcy5nZXQoKV0pOwogICAgIHN0ZDo6ZXhjaGFuZ2Uo
X2RpZFNlbGVjdFNoaXBwaW5nTWV0aG9kQ29tcGxldGlvbiwgbmlsKSh1cGRhdGUuZ2V0KCkpOwot
I2Vsc2UKLSAgICBzdGQ6OmV4Y2hhbmdlKF9kaWRTZWxlY3RTaGlwcGluZ01ldGhvZENvbXBsZXRp
b24sIG5pbCkoUEtQYXltZW50QXV0aG9yaXphdGlvblN0YXR1c1N1Y2Nlc3MsIF9zdW1tYXJ5SXRl
bXMpOwotI2VuZGlmCiB9CiAKIC0gKHZvaWQpaW52YWxpZGF0ZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHlD
b2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0FwcGxlUGF5L2NvY29hL1dlYlBheW1lbnRD
b29yZGluYXRvclByb3h5Q29jb2EubW0KaW5kZXggMmQ1ZDQ5ZWU4NjJkNzkxYTFjOTJmNmI5NzI5
Nzc0MTU0MzI2NWZhYy4uYzRmMmY4MGQ2ODJkNTIwMDg1NmI4NDViZjZiYWJiZGNjMDZhYThmYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQXBwbGVQYXkvY29jb2EvV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHlDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9BcHBs
ZVBheS9jb2NvYS9XZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eUNvY29hLm1tCkBAIC02Niw3ICs2
Niw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtQ2FuTWFrZVBh
eW1lbnRzV2l0aEFjdGl2ZUNhcmQoY29uc3QgU3RyCiAgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcihmYWxzZSk7CiAjZW5kaWYKIAotI2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxBUl9FUlJP
UlMpCiAgICAgUEtDYW5NYWtlUGF5bWVudHNXaXRoTWVyY2hhbnRJZGVudGlmaWVyRG9tYWluQW5k
U291cmNlQXBwbGljYXRpb24obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBtX2NsaWVu
dC5wYXltZW50Q29vcmRpbmF0b3JTb3VyY2VBcHBsaWNhdGlvblNlY29uZGFyeUlkZW50aWZpZXIo
KnRoaXMsIHNlc3Npb25JRCksIG1ha2VCbG9ja1B0cihbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZN
b3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oQk9PTCBjYW5NYWtlUGF5bWVudHMsIE5TRXJyb3IgKmVy
cm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGVycm9yKQogICAgICAgICAgICAgTE9HX0VSUk9S
KCJQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJjaGFudElkZW50aWZpZXJBbmREb21haW4gZXJyb3Ig
JUAiLCBlcnJvcik7CkBAIC03NSwxNiArNzQsNiBAQCB2b2lkIFdlYlBheW1lbnRDb29yZGluYXRv
clByb3h5OjpwbGF0Zm9ybUNhbk1ha2VQYXltZW50c1dpdGhBY3RpdmVDYXJkKGNvbnN0IFN0cgog
ICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoY2FuTWFrZVBheW1lbnRzKTsKICAgICAgICAg
fSk7CiAgICAgfSkuZ2V0KCkpOwotI2Vsc2UKLSAgICBQS0Nhbk1ha2VQYXltZW50c1dpdGhNZXJj
aGFudElkZW50aWZpZXJBbmREb21haW4obWVyY2hhbnRJZGVudGlmaWVyLCBkb21haW5OYW1lLCBt
YWtlQmxvY2tQdHIoW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildKEJPT0wgY2FuTWFrZVBheW1lbnRzLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7Ci0gICAg
ICAgIGlmIChlcnJvcikKLSAgICAgICAgICAgIExPR19FUlJPUigiUEtDYW5NYWtlUGF5bWVudHNX
aXRoTWVyY2hhbnRJZGVudGlmaWVyQW5kRG9tYWluIGVycm9yICVAIiwgZXJyb3IpOwotCi0gICAg
ICAgIFJ1bkxvb3A6Om1haW4oKS5kaXNwYXRjaChbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKSwgY2FuTWFrZVBheW1lbnRzXSB7Ci0gICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihjYW5NYWtlUGF5bWVudHMpOwotICAgICAgICB9KTsKLSAgICB9KS5nZXQo
KSk7Ci0jZW5kaWYKIH0KIAogdm9pZCBXZWJQYXltZW50Q29vcmRpbmF0b3JQcm94eTo6cGxhdGZv
cm1PcGVuUGF5bWVudFNldHVwKGNvbnN0IFN0cmluZyYgbWVyY2hhbnRJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIGRvbWFpbk5hbWUsIFdURjo6RnVuY3Rpb248dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKQEAgLTEwMiw3ICs5MSw2IEBAIHZvaWQgV2ViUGF5bWVudENvb3JkaW5hdG9y
UHJveHk6OnBsYXRmb3JtT3BlblBheW1lbnRTZXR1cChjb25zdCBTdHJpbmcmIG1lcmNoYW50CiAg
ICAgfSkuZ2V0KCldOwogfQogCi0jaWYgSEFWRShQQVNTS0lUX0dSQU5VTEFSX0VSUk9SUykKIHN0
YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvUEtDb250YWN0RmllbGRzKGNvbnN0IFdlYkNvcmU6OkFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpDb250YWN0RmllbGRzJiBjb250YWN0RmllbGRz
KQogewogICAgIFZlY3RvcjxOU1N0cmluZyAqPiByZXN1bHQ7CkBAIC0xMjAsMjMgKzEwOCw2IEBA
IHN0YXRpYyBSZXRhaW5QdHI8TlNTZXQ+IHRvUEtDb250YWN0RmllbGRzKGNvbnN0IFdlYkNvcmU6
OkFwcGxlUGF5U2Vzc2lvblBheW1lbnRSCiAKICAgICByZXR1cm4gYWRvcHROUyhbW05TU2V0IGFs
bG9jXSBpbml0V2l0aE9iamVjdHM6cmVzdWx0LmRhdGEoKSBjb3VudDpyZXN1bHQuc2l6ZSgpXSk7
CiB9Ci0jZWxzZQotc3RhdGljIFBLQWRkcmVzc0ZpZWxkIHRvUEtBZGRyZXNzRmllbGQoY29uc3Qg
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OkNvbnRhY3RGaWVsZHMmIGNv
bnRhY3RGaWVsZHMpCi17Ci0gICAgUEtBZGRyZXNzRmllbGQgcmVzdWx0ID0gMDsKLQotICAgIGlm
IChjb250YWN0RmllbGRzLnBvc3RhbEFkZHJlc3MpCi0gICAgICAgIHJlc3VsdCB8PSBQS0FkZHJl
c3NGaWVsZFBvc3RhbEFkZHJlc3M7Ci0gICAgaWYgKGNvbnRhY3RGaWVsZHMucGhvbmUpCi0gICAg
ICAgIHJlc3VsdCB8PSBQS0FkZHJlc3NGaWVsZFBob25lOwotICAgIGlmIChjb250YWN0RmllbGRz
LmVtYWlsKQotICAgICAgICByZXN1bHQgfD0gUEtBZGRyZXNzRmllbGRFbWFpbDsKLSAgICBpZiAo
Y29udGFjdEZpZWxkcy5uYW1lKQotICAgICAgICByZXN1bHQgfD0gUEtBZGRyZXNzRmllbGROYW1l
OwotCi0gICAgcmV0dXJuIHJlc3VsdDsKLX0KLSNlbmRpZgogCiBQS1BheW1lbnRTdW1tYXJ5SXRl
bVR5cGUgdG9QS1BheW1lbnRTdW1tYXJ5SXRlbVR5cGUoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OkxpbmVJdGVtOjpUeXBlIHR5cGUpCiB7CkBAIC0yMjQsNyArMTk1LDYg
QEAgUEtTaGlwcGluZ01ldGhvZCAqdG9QS1NoaXBwaW5nTWV0aG9kKGNvbnN0IFdlYkNvcmU6OkFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXMKICAgICByZXR1cm4gcmVzdWx0OwogfQogICAgIAot
I2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxBUl9FUlJPUlMpCiBzdGF0aWMgUmV0YWluUHRyPE5TU2V0
PiB0b05TU2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQogewogICAgIGlmIChzdHJp
bmdzLmlzRW1wdHkoKSkKQEAgLTIzNiw3ICsyMDYsNiBAQCBzdGF0aWMgUmV0YWluUHRyPE5TU2V0
PiB0b05TU2V0KGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBzdHJpbmdzKQogCiAgICAgcmV0dXJuIFdU
Rk1vdmUobXV0YWJsZVNldCk7CiB9Ci0jZW5kaWYKIAogI2lmIEhBVkUoUEFTU0tJVF9BUElfVFlQ
RSkKIHN0YXRpYyBQS1BheW1lbnRSZXF1ZXN0QVBJVHlwZSB0b0FQSVR5cGUoV2ViQ29yZTo6QXBw
bGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlJlcXVlc3RlciByZXF1ZXN0ZXIpCkBAIC0yNzQs
MTMgKzI0Myw4IEBAIFJldGFpblB0cjxQS1BheW1lbnRSZXF1ZXN0PiBXZWJQYXltZW50Q29vcmRp
bmF0b3JQcm94eTo6cGxhdGZvcm1QYXltZW50UmVxdWVzdChjCiAgICAgW3Jlc3VsdCBzZXRDdXJy
ZW5jeUNvZGU6cGF5bWVudFJlcXVlc3QuY3VycmVuY3lDb2RlKCldOwogICAgIFtyZXN1bHQgc2V0
QmlsbGluZ0NvbnRhY3Q6cGF5bWVudFJlcXVlc3QuYmlsbGluZ0NvbnRhY3QoKS5wa0NvbnRhY3Qo
KV07CiAgICAgW3Jlc3VsdCBzZXRTaGlwcGluZ0NvbnRhY3Q6cGF5bWVudFJlcXVlc3Quc2hpcHBp
bmdDb250YWN0KCkucGtDb250YWN0KCldOwotI2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxBUl9FUlJP
UlMpCiAgICAgW3Jlc3VsdCBzZXRSZXF1aXJlZEJpbGxpbmdDb250YWN0RmllbGRzOnRvUEtDb250
YWN0RmllbGRzKHBheW1lbnRSZXF1ZXN0LnJlcXVpcmVkQmlsbGluZ0NvbnRhY3RGaWVsZHMoKSku
Z2V0KCldOwogICAgIFtyZXN1bHQgc2V0UmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVsZHM6dG9Q
S0NvbnRhY3RGaWVsZHMocGF5bWVudFJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0NvbnRhY3RGaWVs
ZHMoKSkuZ2V0KCldOwotI2Vsc2UKLSAgICBbcmVzdWx0IHNldFJlcXVpcmVkQmlsbGluZ0FkZHJl
c3NGaWVsZHM6dG9QS0FkZHJlc3NGaWVsZChwYXltZW50UmVxdWVzdC5yZXF1aXJlZEJpbGxpbmdD
b250YWN0RmllbGRzKCkpXTsKLSAgICBbcmVzdWx0IHNldFJlcXVpcmVkU2hpcHBpbmdBZGRyZXNz
RmllbGRzOnRvUEtBZGRyZXNzRmllbGQocGF5bWVudFJlcXVlc3QucmVxdWlyZWRTaGlwcGluZ0Nv
bnRhY3RGaWVsZHMoKSldOwotI2VuZGlmCiAKICAgICBbcmVzdWx0IHNldFN1cHBvcnRlZE5ldHdv
cmtzOnRvU3VwcG9ydGVkTmV0d29ya3MocGF5bWVudFJlcXVlc3Quc3VwcG9ydGVkTmV0d29ya3Mo
KSkuZ2V0KCldOwogICAgIFtyZXN1bHQgc2V0TWVyY2hhbnRDYXBhYmlsaXRpZXM6dG9QS01lcmNo
YW50Q2FwYWJpbGl0aWVzKHBheW1lbnRSZXF1ZXN0Lm1lcmNoYW50Q2FwYWJpbGl0aWVzKCkpXTsK
QEAgLTMxMCw5ICsyNzQsNyBAQCBSZXRhaW5QdHI8UEtQYXltZW50UmVxdWVzdD4gV2ViUGF5bWVu
dENvb3JkaW5hdG9yUHJveHk6OnBsYXRmb3JtUGF5bWVudFJlcXVlc3QoYwogICAgICAgICBbcmVz
dWx0IHNldEFwcGxpY2F0aW9uRGF0YTphcHBsaWNhdGlvbkRhdGEuZ2V0KCldOwogICAgIH0KIAot
I2lmIEhBVkUoUEFTU0tJVF9HUkFOVUxBUl9FUlJPUlMpCiAgICAgW3Jlc3VsdCBzZXRTdXBwb3J0
ZWRDb3VudHJpZXM6dG9OU1NldChwYXltZW50UmVxdWVzdC5zdXBwb3J0ZWRDb3VudHJpZXMoKSku
Z2V0KCldOwotI2VuZGlmCiAKICNpZiBIQVZFKFBBU1NLSVRfQk9VTkRfSU5URVJGQUNFX0lERU5U
SUZJRVIpCiAgICAgLy8gRklYTUU6IFJlbW92ZSAtcmVzcG9uZHNUb1NlbGVjdG9yOiBjaGVjayBv
bmNlIHJkYXI6Ly9wcm9ibGVtLzQ4MDQxNTE2IGlzIHdpZGVseSBhdmFpbGFibGUgaW4gU0RLcy4K
</data>

          </attachment>
      

    </bug>

</bugzilla>