<?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>180925</bug_id>
          
          <creation_ts>2017-12-17 21:12:27 -0800</creation_ts>
          <short_desc>[Apple Pay] Only include phonetic name properties in ApplePayPaymentContact when version &gt;= 3</short_desc>
          <delta_ts>2017-12-18 21:39:31 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Estes">aestes</reporter>
          <assigned_to name="Andy Estes">aestes</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1382703</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-17 21:12:27 -0800</bug_when>
    <thetext>[Apple Pay] Only include phonetic name properties in ApplePayPaymentContact when version &gt;= 3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382704</commentid>
    <comment_count>1</comment_count>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-17 21:12:58 -0800</bug_when>
    <thetext>rdar://problem/35907596</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382705</commentid>
    <comment_count>2</comment_count>
      <attachid>329636</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-17 21:16:10 -0800</bug_when>
    <thetext>Created attachment 329636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382706</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-17 21:18:07 -0800</bug_when>
    <thetext>Attachment 329636 did not pass style-queue:


ERROR: Source/WebCore/Modules/applepay/ApplePaySession.cpp:425:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/Modules/applepay/ApplePaySession.h:158:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 2 in 16 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382710</commentid>
    <comment_count>4</comment_count>
      <attachid>329637</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-17 21:33:50 -0800</bug_when>
    <thetext>Created attachment 329637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382711</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-17 21:35:17 -0800</bug_when>
    <thetext>Attachment 329637 did not pass style-queue:


ERROR: Source/WebCore/Modules/applepay/ApplePaySession.cpp:425:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/Modules/applepay/ApplePaySession.h:158:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 2 in 19 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1382853</commentid>
    <comment_count>6</comment_count>
      <attachid>329637</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2017-12-18 13:27:24 -0800</bug_when>
    <thetext>Comment on attachment 329637
Patch

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

&gt; Source/bmalloc/bmalloc.xcodeproj/project.pbxproj:188
&gt; -		0F7EB7EF1F95285300F1ABCB /* libtestbmalloc */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.executable&quot;; includeInIndex = 0; name = libtestbmalloc; path = testbmalloc; sourceTree = BUILT_PRODUCTS_DIR; };
&gt; +		0F7EB7EF1F95285300F1ABCB /* testbmalloc */ = {isa = PBXFileReference; explicitFileType = &quot;compiled.mach-o.executable&quot;; includeInIndex = 0; path = testbmalloc; sourceTree = BUILT_PRODUCTS_DIR; };

I think you got some Xcode crazy here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383064</commentid>
    <comment_count>7</comment_count>
      <attachid>329740</attachid>
    <who name="Andy Estes">aestes</who>
    <bug_when>2017-12-18 21:18:13 -0800</bug_when>
    <thetext>Created attachment 329740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383065</commentid>
    <comment_count>8</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2017-12-18 21:20:36 -0800</bug_when>
    <thetext>Attachment 329740 did not pass style-queue:


ERROR: Source/WebCore/Modules/applepay/ApplePaySession.cpp:425:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/Modules/applepay/ApplePaySession.h:158:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 2 in 18 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383067</commentid>
    <comment_count>9</comment_count>
      <attachid>329740</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-18 21:39:30 -0800</bug_when>
    <thetext>Comment on attachment 329740
Patch

Clearing flags on attachment: 329740

Committed r226098: &lt;https://trac.webkit.org/changeset/226098&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383068</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-18 21:39:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329636</attachid>
            <date>2017-12-17 21:16:10 -0800</date>
            <delta_ts>2017-12-17 21:33:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180925-20171217211610.patch</filename>
            <type>text/plain</type>
            <size>22081</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzkwNzM1Nzc2MThkM2Zi
YWRlYjk4NzZjODYyZTkyMTM0NDZlN2E5YS4uNTJjMTlhMzJiNjEzYjhhNzg2NDQ3NzJjMWNjZjU1
Mzg0MTk4OTliZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE3LTEyLTE3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBPbmx5IGlu
Y2x1ZGUgcGhvbmV0aWMgbmFtZSBwcm9wZXJ0aWVzIGluIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qg
d2hlbiB2ZXJzaW9uID49IDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDkyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU5MDc1OTY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdHMgcG9z
c2libGUuIFRoZSBmaXggaW52b2x2ZXMgY29udmVydGluZyBQS0NvbnRhY3RzLCB3aGljaCB3ZSBj
YW4ndCBjcmVhdGUgaW4gb3VyIHRlc3QgaGFybmVzcy4KKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudDo6QXBwbGVQYXlQYXltZW50QXV0aG9y
aXplZEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6dmVyc2lvbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmRpZEF1dGhvcml6ZVBheW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QpOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmg6CisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpB
cHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50Lmg6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29udGFjdC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6c3Vw
cG9ydHNWZXJzaW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRv
cjo6c3VwcG9ydHNWZXJzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2Nv
YS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5
bWVudDo6dG9BcHBsZVBheVBheW1lbnQgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvY29jb2EvUGF5bWVudENvbnRhY3RDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZl
cnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvbnRhY3Q6OnRvQXBwbGVQYXlQYXltZW50
Q29udGFjdCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OmRvY3VtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvciBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjp2ZXJzaW9uIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZEF1dGhvcml6ZVBheW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkU2VsZWN0U2hpcHBp
bmdDb250YWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRv
Y3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRs
ZXI6OnBheW1lbnRDb29yZGluYXRvcik6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmg6CisKIDIwMTctMTIt
MTMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJl
cXVlc3RdIFJlbW92ZSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudCBhbmQgdXNlIFBh
eW1lbnREZXRhaWxzTW9kaWZpZXJzIGluc3RlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2
ZW50LmNwcAppbmRleCBiYjkyYmMxYzNlNTA5YTk0MTMyN2Y2ZWJhZjhiODhjNmM0NzM5NzliLi4z
YTM5NDUyOWIzOWVmODg5OGI3ZGU5NTBlZjc0ZjAzNDdlNTIxMWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRBdXRob3JpemVkRXZlbnQuY3BwCkBAIC0zMiw5ICszMiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpBcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50JiBw
YXltZW50KQorQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpBcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25lZCB2ZXJzaW9u
LCBjb25zdCBQYXltZW50JiBwYXltZW50KQogICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIGZhbHNl
KQotICAgICwgbV9wYXltZW50KHBheW1lbnQudG9BcHBsZVBheVBheW1lbnQoKSkKKyAgICAsIG1f
cGF5bWVudChwYXltZW50LnRvQXBwbGVQYXlQYXltZW50KHZlcnNpb24pKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRBdXRob3JpemVkRXZlbnQuaAppbmRleCBkMDdhMjQxNjAwMWZkMDE0NWM4MTk2MzIw
ODhhYzJmMDRlNThlMzI3Li4yYmMwMzJkY2E1OTAxNTI0NTIwY2E5NDM5NjU3MDY3MDgyZjdhYjAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmgKQEAgLTM2LDkgKzM2LDkgQEAgY2xh
c3MgUGF5bWVudDsKIAogY2xhc3MgQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50IGZpbmFs
IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFwcGxlUGF5UGF5bWVu
dEF1dGhvcml6ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
UGF5bWVudCYgcGF5bWVudCkKKyAgICBzdGF0aWMgUmVmPEFwcGxlUGF5UGF5bWVudEF1dGhvcml6
ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVyc2lv
biwgY29uc3QgUGF5bWVudCYgcGF5bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCh0eXBlLCBwYXltZW50KSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dCh0eXBlLCB2ZXJzaW9uLCBwYXltZW50KSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+QXBwbGVQ
YXlQYXltZW50QXV0aG9yaXplZEV2ZW50KCk7CkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBBcHBsZVBheVBheW1lbnQmIHBheW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BheW1l
bnQ7IH0KIAogcHJpdmF0ZToKLSAgICBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Jik7CisgICAgQXBwbGVQYXlQYXlt
ZW50QXV0aG9yaXplZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVy
c2lvbiwgY29uc3QgUGF5bWVudCYpOwogCiAgICAgLy8gRXZlbnQuCiAgICAgRXZlbnRJbnRlcmZh
Y2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcAppbmRleCA2MTE1ZjNlNjcx
OGY5NWFkN2I0NzQ0MjlhNGEzYjU1YTRhODMyZTM1Li4yOWMwNmI0ZjkyMDIwMGVlNzQ1N2RiODEw
OTc2OTk0YTIxYjNkMTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCkBAIC00MTcsMTMgKzQxNywxNSBAQCBFeGNlcHRpb25P
cjxSZWY8QXBwbGVQYXlTZXNzaW9uPj4gQXBwbGVQYXlTZXNzaW9uOjpjcmVhdGUoRG9jdW1lbnQm
IGRvY3VtZW50LCB1bgogICAgIGlmIChjb252ZXJ0ZWRQYXltZW50UmVxdWVzdC5oYXNFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZFBheW1lbnRSZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKTsKIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5U2Vzc2lvbihkb2N1
bWVudCwgY29udmVydGVkUGF5bWVudFJlcXVlc3QucmVsZWFzZVJldHVyblZhbHVlKCkpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBcHBsZVBheVNlc3Npb24oZG9jdW1lbnQsIHZlcnNpb24s
IGNvbnZlcnRlZFBheW1lbnRSZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKSk7CiB9CiAKLUFw
cGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCwgQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmJiBwYXltZW50UmVxdWVzdCkKLSAgICA6IEFjdGl2ZURP
TU9iamVjdCgmZG9jdW1lbnQpCi0gICAgLCBtX3BheW1lbnRSZXF1ZXN0KFdURk1vdmUocGF5bWVu
dFJlcXVlc3QpKQorQXBwbGVQYXlTZXNzaW9uOjpBcHBsZVBheVNlc3Npb24oRG9jdW1lbnQmIGRv
Y3VtZW50LCB1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYm
IHBheW1lbnRSZXF1ZXN0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0IHsgJmRvY3VtZW50IH0KKyAg
ICAsIG1fcGF5bWVudFJlcXVlc3QgeyBXVEZNb3ZlKHBheW1lbnRSZXF1ZXN0KSB9CisgICAgLCBt
X3ZlcnNpb24geyB2ZXJzaW9uIH0KIHsKKyAgICBBU1NFUlQoZG9jdW1lbnQuZnJhbWUoKS0+bWFp
bkZyYW1lKCkucGF5bWVudENvb3JkaW5hdG9yKCkuc3VwcG9ydHNWZXJzaW9uKHZlcnNpb24pKTsK
ICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIApAQCAtNzM1LDYgKzczNywxMSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5bWVudCh1bnNpZ25lZCBzaG9y
dCBzdGF0dXMpCiAgICAgcmV0dXJuIGNvbXBsZXRlUGF5bWVudChXVEZNb3ZlKHJlc3VsdCkpOwog
fQogCit1bnNpZ25lZCBBcHBsZVBheVNlc3Npb246OnZlcnNpb24oKSBjb25zdAoreworICAgIHJl
dHVybiBtX3ZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjp2YWxpZGF0ZU1lcmNo
YW50KGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0
ZTo6QWJvcnRlZCkgewpAQCAtNzYzLDcgKzc3MCw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpk
aWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmIHBheW1lbnQpCiAKICAgICBtX3N0YXRl
ID0gU3RhdGU6OkF1dGhvcml6ZWQ7CiAKLSAgICBhdXRvIGV2ZW50ID0gQXBwbGVQYXlQYXltZW50
QXV0aG9yaXplZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBheW1lbnRhdXRob3JpemVkRXZl
bnQsIHBheW1lbnQpOworICAgIGF1dG8gZXZlbnQgPSBBcHBsZVBheVBheW1lbnRBdXRob3JpemVk
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGF5bWVudGF1dGhvcml6ZWRFdmVudCwgdmVyc2lv
bigpLCBwYXltZW50KTsKICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50LmdldCgpKTsKIH0KIApAQCAt
NzkxLDcgKzc5OCw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ0Nv
bnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29uCiAgICAgfQogCiAgICAgbV9z
dGF0ZSA9IFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDsKLSAgICBhdXRvIGV2ZW50ID0g
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnNoaXBwaW5nY29udGFjdHNlbGVjdGVkRXZlbnQsIHNoaXBwaW5nQ29udGFjdCk7CisgICAgYXV0
byBldmVudCA9IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZEV2ZW50LCB2ZXJzaW9uKCksIHNoaXBw
aW5nQ29udGFjdCk7CiAgICAgZGlzcGF0Y2hFdmVudChldmVudC5nZXQoKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCmluZGV4
IGVlZjI5ZTMzNzU5ZDhiOTIxZWFjZTgxYWMxZDg1YjAxNzdmNjRkMjUuLjcwNjEyNzYwYjExMGZh
MTQ1ZDg5ODI4MmU2MzAwN2NkNzgwNTU3NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6
CiAgICAgdXNpbmcgUGF5bWVudFNlc3Npb246OmRlcmVmOwogCiBwcml2YXRlOgotICAgIEFwcGxl
UGF5U2Vzc2lvbihEb2N1bWVudCYsIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiYpOwor
ICAgIEFwcGxlUGF5U2Vzc2lvbihEb2N1bWVudCYsIHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiYpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAg
IGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTEx
MSw2ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92ZXJy
aWRlIHsgZGVyZWYoKTsgfQogCiAgICAgLy8gUGF5bWVudFNlc3Npb24KKyAgICB1bnNpZ25lZCB2
ZXJzaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB2YWxpZGF0ZU1lcmNoYW50KGNvbnN0
IFVSTCYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQXV0aG9yaXplUGF5bWVudChjb25zdCBQYXlt
ZW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBvdmVycmlkZTsK
QEAgLTE1NCw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIH0gbV9tZXJjaGFudFZhbGlkYXRpb25T
dGF0ZSB7IE1lcmNoYW50VmFsaWRhdGlvblN0YXRlOjpJZGxlIH07CiAKICAgICBjb25zdCBBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCBtX3BheW1lbnRSZXF1ZXN0OworICAgIHVuc2lnbmVk
IG1fdmVyc2lvbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3Rl
ZEV2ZW50LmNwcAppbmRleCAxMzJhNzVjYjI2NmRjZjg1MDczNDg0ZDIxZDM1NjYwYzk0NGExYjY0
Li4wYmUxNjU5MTcxZDU1NGZhMzgxNzM0ZmUxNTdlM2I4ZGFiYTM2NmM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCkBAIC0zMiw5ICszMiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQorQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25lZCB2ZXJzaW9uLCBj
b25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQogICAgIDogRXZlbnQodHlwZSwg
ZmFsc2UsIGZhbHNlKQotICAgICwgbV9zaGlwcGluZ0NvbnRhY3Qoc2hpcHBpbmdDb250YWN0LnRv
QXBwbGVQYXlQYXltZW50Q29udGFjdCgpKQorICAgICwgbV9zaGlwcGluZ0NvbnRhY3Qoc2hpcHBp
bmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCh2ZXJzaW9uKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
Q29udGFjdFNlbGVjdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmgKaW5kZXggMmU3ZTZmN2VmNWE3
ZDBmZDA5OGZiMmU4ZGNiYTdjMWVhNmMwNTU0MC4uMjUzZWZkOTkzNGQxNTRhZjliZGMzNDliZDEx
YzVhMTFmYjMzZTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVu
dC5oCkBAIC0zNiw5ICszNiw5IEBAIGNsYXNzIFBheW1lbnRDb250YWN0OwogCiBjbGFzcyBBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Q29udGFj
dCYgc2hpcHBpbmdDb250YWN0KQorICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RTZWxlY3RlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25l
ZCB2ZXJzaW9uLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxl
Y3RlZEV2ZW50KHR5cGUsIHNoaXBwaW5nQ29udGFjdCkpOworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQodHlwZSwgdmVyc2lv
biwgc2hpcHBpbmdDb250YWN0KSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+QXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50KCk7CkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBzaGlwcGluZ0NvbnRhY3QoKSBjb25zdCB7
IHJldHVybiBtX3NoaXBwaW5nQ29udGFjdDsgfQogCiBwcml2YXRlOgotICAgIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0
IFBheW1lbnRDb250YWN0Jik7CisgICAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgUGF5
bWVudENvbnRhY3QmKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50
SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvUGF5bWVudC5oCmluZGV4IGM5MDU0ZDczZmQzMTAxNTg2YzE5YzQwYzg3NzY1MmM0ODI0YTkx
NDQuLjg1ZjY3YmVkZjJlZDdlMGU0ODBjNDVjYTFmN2I2ZWRlN2FlNjliMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgflBheW1lbnQoKSA9IGRlZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIEFw
cGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0OworICAgIHZpcnR1YWwgQXBw
bGVQYXlQYXltZW50IHRvQXBwbGVQYXlQYXltZW50KHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0Owog
CiAgICAgUEtQYXltZW50ICpwa1BheW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BrUGF5bWVudC5n
ZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb250YWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b250YWN0LmgKaW5kZXggZWMwMTBhY2Y5N2ZjMmQ3YWYzZmQ1OWQ1OWVlNTNmZTgwY2NkYTkwYy4u
ZDA0MTJkMWRlZGE2MWI3YmY0YzVkNjkyN2FiMDY4MTliOTYyZDMyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29udGFjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvbnRhY3QuaApAQCAtNDYsNyArNDYs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UGF5bWVudENvbnRhY3QoKSA9IGRlZmF1bHQ7CiAK
ICAgICBzdGF0aWMgUGF5bWVudENvbnRhY3QgZnJvbUFwcGxlUGF5UGF5bWVudENvbnRhY3QodW5z
aWduZWQgdmVyc2lvbiwgY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYpOwotICAgIHZpcnR1
YWwgQXBwbGVQYXlQYXltZW50Q29udGFjdCB0b0FwcGxlUGF5UGF5bWVudENvbnRhY3QoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgdG9BcHBsZVBheVBheW1lbnRD
b250YWN0KHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0OwogCiAgICAgUEtDb250YWN0ICpwa0NvbnRh
Y3QoKSBjb25zdCB7IHJldHVybiBtX3BrQ29udGFjdC5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5k
ZXggYTJjOWQwMzM0YjkyNjg0NTk1MjVlZTkyNzljNzQzNjg2YmFiMTA0ZC4uODExMWNmNWZiZGJk
MzA2MDVjMDI2ZGUzZjQ2NTY3ZGE0OWM0YWFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNDUsNyArNDUs
NyBAQCBQYXltZW50Q29vcmRpbmF0b3I6On5QYXltZW50Q29vcmRpbmF0b3IoKQogICAgIG1fY2xp
ZW50LnBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpOwogfQogCi1ib29sIFBheW1lbnRDb29y
ZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCitib29sIFBheW1lbnRD
b29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fY2xpZW50LnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCmlu
ZGV4IDgwNjc3NDg1M2Y0M2RlNWQzNzZlYzBjNTA4YzMzYmU5ZTkyZWZiNmIuLmFmODc3OWIxZDI3
YzQ2NWU3YmUxOTNjZjUzMGIxNjgyZDE4ZjJhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgUGF5bWVudENvb3JkaW5hdG9y
KFBheW1lbnRDb29yZGluYXRvckNsaWVudCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYXltZW50
Q29vcmRpbmF0b3IoKTsKIAotICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNp
b24pOworICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0Owog
ICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRo
QWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKTsKICAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmgKaW5kZXggNGIzOTc3NTQwMGFkZTc3YzUzODVkMTY1
YTQwNTQyNDU1ZDAyOTVhOC4uMzcwOTA0MTljNWYxOWY5ZThkMTU0ZmRkMzkxZGMwYTcwODE4MWJh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Np
b24uaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBQYXltZW50U2Vzc2lvbiA6IHB1YmxpYyB2aXJ0
dWFsIFBheW1lbnRTZXNzaW9uQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9y
PHZvaWQ+IGNhbkNyZWF0ZVNlc3Npb24oRG9jdW1lbnQmKTsKIAorICAgIHZpcnR1YWwgdW5zaWdu
ZWQgdmVyc2lvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdmFsaWRhdGVNZXJjaGFu
dChjb25zdCBVUkwmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEF1dGhvcml6ZVBheW1lbnQo
Y29uc3QgUGF5bWVudCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdN
ZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9k
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2Nv
YS9QYXltZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRDb2NvYS5tbQppbmRleCA5OTM4N2I5YzA4MjFlYjIwNGZlMWI3ZWZkZmNkMWIzNjk5
N2ViMDU2Li4wYjI5ZDc0N2UyNDA3YzM1OWZkY2IxNGIzYjc4YzVhZDYxZDJkODg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2Nv
YS5tbQpAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgQXBwbGVQYXlQYXltZW50OjpUb2tlbiBjb252
ZXJ0KFBLUGF5bWVudFRva2VuICpwYXltZW50VG9rZW4pCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotc3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5bWVudCAqcGF5bWVudCkKK3N0
YXRpYyBBcHBsZVBheVBheW1lbnQgY29udmVydCh1bnNpZ25lZCB2ZXJzaW9uLCBQS1BheW1lbnQg
KnBheW1lbnQpCiB7CiAgICAgQVNTRVJUKHBheW1lbnQpOwogCkBAIC02MCwxNiArNjAsMTYgQEAg
c3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5bWVudCAqcGF5bWVudCkKICAgICBy
ZXN1bHQudG9rZW4gPSBjb252ZXJ0KHBheW1lbnQudG9rZW4pOwogCiAgICAgaWYgKHBheW1lbnQu
YmlsbGluZ0NvbnRhY3QpCi0gICAgICAgIHJlc3VsdC5iaWxsaW5nQ29udGFjdCA9IFBheW1lbnRD
b250YWN0KHBheW1lbnQuYmlsbGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgp
OworICAgICAgICByZXN1bHQuYmlsbGluZ0NvbnRhY3QgPSBQYXltZW50Q29udGFjdChwYXltZW50
LmJpbGxpbmdDb250YWN0KS50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodmVyc2lvbik7CiAgICAg
aWYgKHBheW1lbnQuc2hpcHBpbmdDb250YWN0KQotICAgICAgICByZXN1bHQuc2hpcHBpbmdDb250
YWN0ID0gUGF5bWVudENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQ
YXltZW50Q29udGFjdCgpOworICAgICAgICByZXN1bHQuc2hpcHBpbmdDb250YWN0ID0gUGF5bWVu
dENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQYXltZW50Q29udGFj
dCh2ZXJzaW9uKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUFwcGxlUGF5UGF5bWVudCBQ
YXltZW50Ojp0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0CitBcHBsZVBheVBheW1lbnQgUGF5bWVu
dDo6dG9BcHBsZVBheVBheW1lbnQodW5zaWduZWQgdmVyc2lvbikgY29uc3QKIHsKLSAgICByZXR1
cm4gY29udmVydChtX3BrUGF5bWVudC5nZXQoKSk7CisgICAgcmV0dXJuIGNvbnZlcnQodmVyc2lv
biwgbV9wa1BheW1lbnQuZ2V0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0KaW5k
ZXggMGQ4MjI0OTAzMjA5MTI3NTIwNDc3MWI5YzI1ZWMxNTcwZGZiMzRiMC4uMDhlZGZlY2ZjN2Rj
ZGRkZjE0ZjBkNDZmMDRhNTRlMzQ1MGQyOTY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFjdENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvbnRhY3RDb2NvYS5tbQpA
QCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtDb250YWN0PiBjb252ZXJ0KHVu
c2lnbmVkIHZlcnNpb24sIGNvbnN0IEFwcGxlUGF5UGF5bWVudENvbnRhCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotc3RhdGljIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgY29udmVydChQS0NvbnRh
Y3QgKmNvbnRhY3QpCitzdGF0aWMgQXBwbGVQYXlQYXltZW50Q29udGFjdCBjb252ZXJ0KHVuc2ln
bmVkIHZlcnNpb24sIFBLQ29udGFjdCAqY29udGFjdCkKIHsKICAgICBBU1NFUlQoY29udGFjdCk7
CiAKQEAgLTE5MSwxMCArMTkxLDEyIEBAIHN0YXRpYyBBcHBsZVBheVBheW1lbnRDb250YWN0IGNv
bnZlcnQoUEtDb250YWN0ICpjb250YWN0KQogICAgIHJlc3VsdC5mYW1pbHlOYW1lID0gbmFtZS5m
YW1pbHlOYW1lOwogICAgIHJlc3VsdC5sb2NhbGl6ZWROYW1lID0gW05TUGVyc29uTmFtZUNvbXBv
bmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5nRnJvbVBlcnNvbk5hbWVDb21wb25lbnRzOm5h
bWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlclN0eWxlRGVmYXVsdCBvcHRp
b25zOjBdOwogCi0gICAgTlNQZXJzb25OYW1lQ29tcG9uZW50cyAqcGhvbmV0aWNOYW1lID0gbmFt
ZS5waG9uZXRpY1JlcHJlc2VudGF0aW9uOwotICAgIHJlc3VsdC5waG9uZXRpY0dpdmVuTmFtZSA9
IHBob25ldGljTmFtZS5naXZlbk5hbWU7Ci0gICAgcmVzdWx0LnBob25ldGljRmFtaWx5TmFtZSA9
IHBob25ldGljTmFtZS5mYW1pbHlOYW1lOwotICAgIHJlc3VsdC5sb2NhbGl6ZWRQaG9uZXRpY05h
bWUgPSBbTlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlciBsb2NhbGl6ZWRTdHJpbmdGcm9t
UGVyc29uTmFtZUNvbXBvbmVudHM6bmFtZSBzdHlsZTpOU1BlcnNvbk5hbWVDb21wb25lbnRzRm9y
bWF0dGVyU3R5bGVEZWZhdWx0IG9wdGlvbnM6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRl
clBob25ldGljXTsKKyAgICBpZiAodmVyc2lvbiA+PSAzKSB7CisgICAgICAgIE5TUGVyc29uTmFt
ZUNvbXBvbmVudHMgKnBob25ldGljTmFtZSA9IG5hbWUucGhvbmV0aWNSZXByZXNlbnRhdGlvbjsK
KyAgICAgICAgcmVzdWx0LnBob25ldGljR2l2ZW5OYW1lID0gcGhvbmV0aWNOYW1lLmdpdmVuTmFt
ZTsKKyAgICAgICAgcmVzdWx0LnBob25ldGljRmFtaWx5TmFtZSA9IHBob25ldGljTmFtZS5mYW1p
bHlOYW1lOworICAgICAgICByZXN1bHQubG9jYWxpemVkUGhvbmV0aWNOYW1lID0gW05TUGVyc29u
TmFtZUNvbXBvbmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5nRnJvbVBlcnNvbk5hbWVDb21w
b25lbnRzOm5hbWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlclN0eWxlRGVm
YXVsdCBvcHRpb25zOk5TUGVyc29uTmFtZUNvbXBvbmVudHNGb3JtYXR0ZXJQaG9uZXRpY107Cisg
ICAgfQogCiAgICAgQ05Qb3N0YWxBZGRyZXNzICpwb3N0YWxBZGRyZXNzID0gY29udGFjdC5wb3N0
YWxBZGRyZXNzOwogICAgIGlmIChwb3N0YWxBZGRyZXNzLnN0cmVldC5sZW5ndGgpIHsKQEAgLTIx
OCw5ICsyMjAsOSBAQCBQYXltZW50Q29udGFjdCBQYXltZW50Q29udGFjdDo6ZnJvbUFwcGxlUGF5
UGF5bWVudENvbnRhY3QodW5zaWduZWQgdmVyc2lvbiwgY29ucwogICAgIHJldHVybiBQYXltZW50
Q29udGFjdChjb252ZXJ0KHZlcnNpb24sIGNvbnRhY3QpLmdldCgpKTsKIH0KIAotQXBwbGVQYXlQ
YXltZW50Q29udGFjdCBQYXltZW50Q29udGFjdDo6dG9BcHBsZVBheVBheW1lbnRDb250YWN0KCkg
Y29uc3QKK0FwcGxlUGF5UGF5bWVudENvbnRhY3QgUGF5bWVudENvbnRhY3Q6OnRvQXBwbGVQYXlQ
YXltZW50Q29udGFjdCh1bnNpZ25lZCB2ZXJzaW9uKSBjb25zdAogewotICAgIHJldHVybiBjb252
ZXJ0KG1fcGtDb250YWN0LmdldCgpKTsKKyAgICByZXR1cm4gY29udmVydCh2ZXJzaW9uLCBtX3Br
Q29udGFjdC5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5
bWVudEhhbmRsZXIuY3BwCmluZGV4IDI5MjUwOGM5OTFhMzgxNDc1Njg3YmMzOGFkOTQxNmQzZWQx
YWRhOWUuLjBmYjgxNTVmMTAwODEwNGZmZDA2ZWRiOGMyNjI2MDZmNzAzNjk4ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtNzksMTIgKzc5
LDEyIEBAIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBQYXltZW50CiAgICAgQVNTRVJUKGhhbmRsZXNJZGVudGlm
aWVyKG1faWRlbnRpZmllcikpOwogfQogCi1Eb2N1bWVudCYgQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6ZG9jdW1lbnQoKQorRG9jdW1lbnQmIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRvY3VtZW50
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOwogfQogCi1QYXltZW50Q29vcmRpbmF0b3ImIEFwcGxlUGF5UGF5bWVudEhh
bmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpCitQYXltZW50Q29vcmRpbmF0b3ImIEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IFdlYkNvcmU6OnBheW1lbnRDb29yZGluYXRvcihkb2N1bWVudCgpKTsKIH0KQEAgLTM4NSw2ICsz
ODUsMTYgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjb21wbGV0ZShzdGQ6Om9wdGlv
bmFsPFBheW1lbnRDb21wbGV0ZT4mJiByZXN1bHQpCiAgICAgcGF5bWVudENvb3JkaW5hdG9yKCku
Y29tcGxldGVQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGF1dGhvcml6YXRpb25SZXN1bHQpKTsKIH0K
IAordW5zaWduZWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmVyc2lvbigpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2FwcGxlUGF5UmVxdWVzdCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAg
YXV0byB2ZXJzaW9uID0gbV9hcHBsZVBheVJlcXVlc3QtPnZlcnNpb247CisgICAgQVNTRVJUKHBh
eW1lbnRDb29yZGluYXRvcigpLnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKSk7CisgICAgcmV0dXJu
IHZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmFsaWRhdGVNZXJj
aGFudChjb25zdCBVUkwmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAgaWYgKHZhbGlkYXRpb25VUkwu
aXNWYWxpZCgpKQpAQCAtMzk4LDcgKzQwOCw3IEBAIHN0YXRpYyBSZWY8UGF5bWVudEFkZHJlc3M+
IGNvbnZlcnQoY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYgY29udGFjdCkKIAogdm9pZCBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQm
IHBheW1lbnQpCiB7Ci0gICAgYXV0byBhcHBsZVBheVBheW1lbnQgPSBwYXltZW50LnRvQXBwbGVQ
YXlQYXltZW50KCk7CisgICAgYXV0byBhcHBsZVBheVBheW1lbnQgPSBwYXltZW50LnRvQXBwbGVQ
YXlQYXltZW50KHZlcnNpb24oKSk7CiAgICAgYXV0byYgZXhlY1N0YXRlID0gKmRvY3VtZW50KCku
ZXhlY1N0YXRlKCk7CiAgICAgYXV0byBsb2NrID0gSlNDOjpKU0xvY2tIb2xkZXIgeyAmZXhlY1N0
YXRlIH07CiAgICAgYXV0byBkZXRhaWxzID0gSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4geyBl
eGVjU3RhdGUudm0oKSwgYXNPYmplY3QodG9KUzxJRExEaWN0aW9uYXJ5PEFwcGxlUGF5UGF5bWVu
dD4+KGV4ZWNTdGF0ZSwgKkpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlY1N0YXRl
LmxleGljYWxHbG9iYWxPYmplY3QoKSksIGFwcGxlUGF5UGF5bWVudCkpIH07CkBAIC00MTMsNyAr
NDIzLDcgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ01l
dGhvZChjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW4KIAogdm9pZCBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNo
aXBwaW5nQ29udGFjdCkKIHsKLSAgICBtX3BheW1lbnRSZXF1ZXN0LT5zaGlwcGluZ0FkZHJlc3ND
aGFuZ2VkKGNvbnZlcnQoc2hpcHBpbmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgp
KSk7CisgICAgbV9wYXltZW50UmVxdWVzdC0+c2hpcHBpbmdBZGRyZXNzQ2hhbmdlZChjb252ZXJ0
KHNoaXBwaW5nQ29udGFjdC50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodmVyc2lvbigpKSkpOwog
fQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZFNlbGVjdFBheW1lbnRNZXRob2Qo
Y29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFu
ZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5kZXggYzcyYTlkNTlhNjc1MmJkNzBlZDJmZWJkNjk1
OGY0ZGFlMDQxN2UzYy4uOWRiMjNiMjU4NDE3ZGNhYTBjMDRiNjdhMWU4MmM1MThhYmFlYzBlYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTQ5LDgg
KzQ5LDggQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUGF5bWVudEhhbmRsZXI7CiAgICAg
ZXhwbGljaXQgQXBwbGVQYXlQYXltZW50SGFuZGxlcihEb2N1bWVudCYsIGNvbnN0IFBheW1lbnRS
ZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyJiwgUGF5bWVudFJlcXVlc3QmKTsKIAotICAgIERvY3Vt
ZW50JiBkb2N1bWVudCgpOwotICAgIFBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5h
dG9yKCk7CisgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Q7CisgICAgUGF5bWVudENvb3Jk
aW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAogICAgIEV4Y2VwdGlvbk9yPEFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gY29tcHV0ZVRv
dGFsQW5kTGluZUl0ZW1zKCk7CiAKQEAgLTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGNvbXBsZXRlKHN0ZDo6b3B0aW9uYWw8UGF5bWVudENvbXBsZXRlPiYmKSBmaW5hbDsKIAogICAg
IC8vIFBheW1lbnRTZXNzaW9uCisgICAgdW5zaWduZWQgdmVyc2lvbigpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmKSBmaW5hbDsKICAgICB2b2lkIGRp
ZEF1dGhvcml6ZVBheW1lbnQoY29uc3QgUGF5bWVudCYpIGZpbmFsOwogICAgIHZvaWQgZGlkU2Vs
ZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNo
aXBwaW5nTWV0aG9kJikgZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329637</attachid>
            <date>2017-12-17 21:33:50 -0800</date>
            <delta_ts>2017-12-18 21:18:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180925-20171217213349.patch</filename>
            <type>text/plain</type>
            <size>37807</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1ODUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzkwNzM1Nzc2MThkM2Zi
YWRlYjk4NzZjODYyZTkyMTM0NDZlN2E5YS4uNTJjMTlhMzJiNjEzYjhhNzg2NDQ3NzJjMWNjZjU1
Mzg0MTk4OTliZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE3LTEyLTE3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBPbmx5IGlu
Y2x1ZGUgcGhvbmV0aWMgbmFtZSBwcm9wZXJ0aWVzIGluIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qg
d2hlbiB2ZXJzaW9uID49IDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDkyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU5MDc1OTY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gdGVzdHMgcG9z
c2libGUuIFRoZSBmaXggaW52b2x2ZXMgY29udmVydGluZyBQS0NvbnRhY3RzLCB3aGljaCB3ZSBj
YW4ndCBjcmVhdGUgaW4gb3VyIHRlc3QgaGFybmVzcy4KKworICAgICAgICAqIE1vZHVsZXMvYXBw
bGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudDo6QXBwbGVQYXlQYXltZW50QXV0aG9y
aXplZEV2ZW50KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNz
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGxlUGF5U2Vzc2lvbjo6dmVyc2lvbiBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheVNlc3Npb246OmRpZEF1dGhvcml6ZVBheW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QpOgorICAg
ICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmg6CisgICAgICAgICogTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpB
cHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50Lmg6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9QYXltZW50Q29udGFjdC5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENv
b3JkaW5hdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRvcjo6c3Vw
cG9ydHNWZXJzaW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlBheW1lbnRDb29yZGluYXRv
cjo6c3VwcG9ydHNWZXJzaW9uKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L1BheW1lbnRDb29yZGluYXRvci5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dFNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2Nv
YS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZlcnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5
bWVudDo6dG9BcHBsZVBheVBheW1lbnQgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVw
YXkvY29jb2EvUGF5bWVudENvbnRhY3RDb2NvYS5tbToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnZl
cnQpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvbnRhY3Q6OnRvQXBwbGVQYXlQYXltZW50
Q29udGFjdCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OmRvY3VtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxl
UGF5UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvciBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjp2ZXJzaW9uIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZEF1dGhvcml6ZVBheW1lbnQpOgor
ICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkU2VsZWN0U2hpcHBp
bmdDb250YWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRv
Y3VtZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFwcGxlUGF5UGF5bWVudEhhbmRs
ZXI6OnBheW1lbnRDb29yZGluYXRvcik6IERlbGV0ZWQuCisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmg6CisKIDIwMTctMTIt
MTMgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtQYXltZW50IFJl
cXVlc3RdIFJlbW92ZSBBcHBsZVBheVBheW1lbnRNZXRob2RVcGRhdGVFdmVudCBhbmQgdXNlIFBh
eW1lbnREZXRhaWxzTW9kaWZpZXJzIGluc3RlYWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2
ZW50LmNwcAppbmRleCBiYjkyYmMxYzNlNTA5YTk0MTMyN2Y2ZWJhZjhiODhjNmM0NzM5NzliLi4z
YTM5NDUyOWIzOWVmODg5OGI3ZGU5NTBlZjc0ZjAzNDdlNTIxMWEyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVBheW1l
bnRBdXRob3JpemVkRXZlbnQuY3BwCkBAIC0zMiw5ICszMiw5IEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpBcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50JiBw
YXltZW50KQorQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpBcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25lZCB2ZXJzaW9u
LCBjb25zdCBQYXltZW50JiBwYXltZW50KQogICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIGZhbHNl
KQotICAgICwgbV9wYXltZW50KHBheW1lbnQudG9BcHBsZVBheVBheW1lbnQoKSkKKyAgICAsIG1f
cGF5bWVudChwYXltZW50LnRvQXBwbGVQYXlQYXltZW50KHZlcnNpb24pKQogewogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1
dGhvcml6ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVBheW1lbnRBdXRob3JpemVkRXZlbnQuaAppbmRleCBkMDdhMjQxNjAwMWZkMDE0NWM4MTk2MzIw
ODhhYzJmMDRlNThlMzI3Li4yYmMwMzJkY2E1OTAxNTI0NTIwY2E5NDM5NjU3MDY3MDgyZjdhYjAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmgKQEAgLTM2LDkgKzM2LDkgQEAgY2xh
c3MgUGF5bWVudDsKIAogY2xhc3MgQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50IGZpbmFs
IDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPEFwcGxlUGF5UGF5bWVu
dEF1dGhvcml6ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3Qg
UGF5bWVudCYgcGF5bWVudCkKKyAgICBzdGF0aWMgUmVmPEFwcGxlUGF5UGF5bWVudEF1dGhvcml6
ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVyc2lv
biwgY29uc3QgUGF5bWVudCYgcGF5bWVudCkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCh0eXBlLCBwYXltZW50KSk7Cisg
ICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVu
dCh0eXBlLCB2ZXJzaW9uLCBwYXltZW50KSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+QXBwbGVQ
YXlQYXltZW50QXV0aG9yaXplZEV2ZW50KCk7CkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBBcHBsZVBheVBheW1lbnQmIHBheW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BheW1l
bnQ7IH0KIAogcHJpdmF0ZToKLSAgICBBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQoY29u
c3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Jik7CisgICAgQXBwbGVQYXlQYXlt
ZW50QXV0aG9yaXplZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVy
c2lvbiwgY29uc3QgUGF5bWVudCYpOwogCiAgICAgLy8gRXZlbnQuCiAgICAgRXZlbnRJbnRlcmZh
Y2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNwcAppbmRleCA2MTE1ZjNlNjcx
OGY5NWFkN2I0NzQ0MjlhNGEzYjU1YTRhODMyZTM1Li4yOWMwNmI0ZjkyMDIwMGVlNzQ1N2RiODEw
OTc2OTk0YTIxYjNkMTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxl
cGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCkBAIC00MTcsMTMgKzQxNywxNSBAQCBFeGNlcHRpb25P
cjxSZWY8QXBwbGVQYXlTZXNzaW9uPj4gQXBwbGVQYXlTZXNzaW9uOjpjcmVhdGUoRG9jdW1lbnQm
IGRvY3VtZW50LCB1bgogICAgIGlmIChjb252ZXJ0ZWRQYXltZW50UmVxdWVzdC5oYXNFeGNlcHRp
b24oKSkKICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZFBheW1lbnRSZXF1ZXN0LnJlbGVhc2VFeGNl
cHRpb24oKTsKIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5U2Vzc2lvbihkb2N1
bWVudCwgY29udmVydGVkUGF5bWVudFJlcXVlc3QucmVsZWFzZVJldHVyblZhbHVlKCkpKTsKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBcHBsZVBheVNlc3Npb24oZG9jdW1lbnQsIHZlcnNpb24s
IGNvbnZlcnRlZFBheW1lbnRSZXF1ZXN0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpKSk7CiB9CiAKLUFw
cGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKERvY3VtZW50JiBkb2N1bWVudCwgQXBwbGVQ
YXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmJiBwYXltZW50UmVxdWVzdCkKLSAgICA6IEFjdGl2ZURP
TU9iamVjdCgmZG9jdW1lbnQpCi0gICAgLCBtX3BheW1lbnRSZXF1ZXN0KFdURk1vdmUocGF5bWVu
dFJlcXVlc3QpKQorQXBwbGVQYXlTZXNzaW9uOjpBcHBsZVBheVNlc3Npb24oRG9jdW1lbnQmIGRv
Y3VtZW50LCB1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCYm
IHBheW1lbnRSZXF1ZXN0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0IHsgJmRvY3VtZW50IH0KKyAg
ICAsIG1fcGF5bWVudFJlcXVlc3QgeyBXVEZNb3ZlKHBheW1lbnRSZXF1ZXN0KSB9CisgICAgLCBt
X3ZlcnNpb24geyB2ZXJzaW9uIH0KIHsKKyAgICBBU1NFUlQoZG9jdW1lbnQuZnJhbWUoKS0+bWFp
bkZyYW1lKCkucGF5bWVudENvb3JkaW5hdG9yKCkuc3VwcG9ydHNWZXJzaW9uKHZlcnNpb24pKTsK
ICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIApAQCAtNzM1LDYgKzczNywxMSBAQCBFeGNlcHRp
b25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5bWVudCh1bnNpZ25lZCBzaG9y
dCBzdGF0dXMpCiAgICAgcmV0dXJuIGNvbXBsZXRlUGF5bWVudChXVEZNb3ZlKHJlc3VsdCkpOwog
fQogCit1bnNpZ25lZCBBcHBsZVBheVNlc3Npb246OnZlcnNpb24oKSBjb25zdAoreworICAgIHJl
dHVybiBtX3ZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjp2YWxpZGF0ZU1lcmNo
YW50KGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKIHsKICAgICBpZiAobV9zdGF0ZSA9PSBTdGF0
ZTo6QWJvcnRlZCkgewpAQCAtNzYzLDcgKzc3MCw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpk
aWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmIHBheW1lbnQpCiAKICAgICBtX3N0YXRl
ID0gU3RhdGU6OkF1dGhvcml6ZWQ7CiAKLSAgICBhdXRvIGV2ZW50ID0gQXBwbGVQYXlQYXltZW50
QXV0aG9yaXplZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBheW1lbnRhdXRob3JpemVkRXZl
bnQsIHBheW1lbnQpOworICAgIGF1dG8gZXZlbnQgPSBBcHBsZVBheVBheW1lbnRBdXRob3JpemVk
RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGF5bWVudGF1dGhvcml6ZWRFdmVudCwgdmVyc2lv
bigpLCBwYXltZW50KTsKICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50LmdldCgpKTsKIH0KIApAQCAt
NzkxLDcgKzc5OCw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpkaWRTZWxlY3RTaGlwcGluZ0Nv
bnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29uCiAgICAgfQogCiAgICAgbV9z
dGF0ZSA9IFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDsKLSAgICBhdXRvIGV2ZW50ID0g
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LnNoaXBwaW5nY29udGFjdHNlbGVjdGVkRXZlbnQsIHNoaXBwaW5nQ29udGFjdCk7CisgICAgYXV0
byBldmVudCA9IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS5zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZEV2ZW50LCB2ZXJzaW9uKCksIHNoaXBw
aW5nQ29udGFjdCk7CiAgICAgZGlzcGF0Y2hFdmVudChldmVudC5nZXQoKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5oCmluZGV4
IGVlZjI5ZTMzNzU5ZDhiOTIxZWFjZTgxYWMxZDg1YjAxNzdmNjRkMjUuLjcwNjEyNzYwYjExMGZh
MTQ1ZDg5ODI4MmU2MzAwN2NkNzgwNTU3NzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaApAQCAtOTcsNyArOTcsNyBAQCBwdWJsaWM6
CiAgICAgdXNpbmcgUGF5bWVudFNlc3Npb246OmRlcmVmOwogCiBwcml2YXRlOgotICAgIEFwcGxl
UGF5U2Vzc2lvbihEb2N1bWVudCYsIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiYpOwor
ICAgIEFwcGxlUGF5U2Vzc2lvbihEb2N1bWVudCYsIHVuc2lnbmVkIHZlcnNpb24sIEFwcGxlUGF5
U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiYpOwogCiAgICAgLy8gQWN0aXZlRE9NT2JqZWN0LgogICAg
IGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBvdmVycmlkZTsKQEAgLTEx
MSw2ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92ZXJy
aWRlIHsgZGVyZWYoKTsgfQogCiAgICAgLy8gUGF5bWVudFNlc3Npb24KKyAgICB1bnNpZ25lZCB2
ZXJzaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB2YWxpZGF0ZU1lcmNoYW50KGNvbnN0
IFVSTCYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQXV0aG9yaXplUGF5bWVudChjb25zdCBQYXlt
ZW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBB
cHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdNZXRob2QmKSBvdmVycmlkZTsK
QEAgLTE1NCw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIH0gbV9tZXJjaGFudFZhbGlkYXRpb25T
dGF0ZSB7IE1lcmNoYW50VmFsaWRhdGlvblN0YXRlOjpJZGxlIH07CiAKICAgICBjb25zdCBBcHBs
ZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCBtX3BheW1lbnRSZXF1ZXN0OworICAgIHVuc2lnbmVk
IG1fdmVyc2lvbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3Rl
ZEV2ZW50LmNwcAppbmRleCAxMzJhNzVjYjI2NmRjZjg1MDczNDg0ZDIxZDM1NjYwYzk0NGExYjY0
Li4wYmUxNjU5MTcxZDU1NGZhMzgxNzM0ZmUxNTdlM2I4ZGFiYTM2NmM5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2Vs
ZWN0ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCkBAIC0zMiw5ICszMiw5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQorQXBwbGVQ
YXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNl
bGVjdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25lZCB2ZXJzaW9uLCBj
b25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQogICAgIDogRXZlbnQodHlwZSwg
ZmFsc2UsIGZhbHNlKQotICAgICwgbV9zaGlwcGluZ0NvbnRhY3Qoc2hpcHBpbmdDb250YWN0LnRv
QXBwbGVQYXlQYXltZW50Q29udGFjdCgpKQorICAgICwgbV9zaGlwcGluZ0NvbnRhY3Qoc2hpcHBp
bmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCh2ZXJzaW9uKSkKIHsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5n
Q29udGFjdFNlbGVjdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmgKaW5kZXggMmU3ZTZmN2VmNWE3
ZDBmZDA5OGZiMmU4ZGNiYTdjMWVhNmMwNTU0MC4uMjUzZWZkOTkzNGQxNTRhZjliZGMzNDliZDEx
YzVhMTFmYjMzZTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVu
dC5oCkBAIC0zNiw5ICszNiw5IEBAIGNsYXNzIFBheW1lbnRDb250YWN0OwogCiBjbGFzcyBBcHBs
ZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgewog
cHVibGljOgotICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Q29udGFj
dCYgc2hpcHBpbmdDb250YWN0KQorICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlTaGlwcGluZ0NvbnRh
Y3RTZWxlY3RlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1bnNpZ25l
ZCB2ZXJzaW9uLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQogICAgIHsK
LSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxl
Y3RlZEV2ZW50KHR5cGUsIHNoaXBwaW5nQ29udGFjdCkpOworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQodHlwZSwgdmVyc2lv
biwgc2hpcHBpbmdDb250YWN0KSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB+QXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50KCk7CkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAg
ICBjb25zdCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBzaGlwcGluZ0NvbnRhY3QoKSBjb25zdCB7
IHJldHVybiBtX3NoaXBwaW5nQ29udGFjdDsgfQogCiBwcml2YXRlOgotICAgIEFwcGxlUGF5U2hp
cHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0
IFBheW1lbnRDb250YWN0Jik7CisgICAgQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgUGF5
bWVudENvbnRhY3QmKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50
SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVw
YXkvUGF5bWVudC5oCmluZGV4IGM5MDU0ZDczZmQzMTAxNTg2YzE5YzQwYzg3NzY1MmM0ODI0YTkx
NDQuLjg1ZjY3YmVkZjJlZDdlMGU0ODBjNDVjYTFmN2I2ZWRlN2FlNjliMWYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCkBAIC00Niw3ICs0Niw3IEBAIHB1Ymxp
YzoKIAogICAgIHZpcnR1YWwgflBheW1lbnQoKSA9IGRlZmF1bHQ7CiAKLSAgICB2aXJ0dWFsIEFw
cGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0OworICAgIHZpcnR1YWwgQXBw
bGVQYXlQYXltZW50IHRvQXBwbGVQYXlQYXltZW50KHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0Owog
CiAgICAgUEtQYXltZW50ICpwa1BheW1lbnQoKSBjb25zdCB7IHJldHVybiBtX3BrUGF5bWVudC5n
ZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb250YWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b250YWN0LmgKaW5kZXggZWMwMTBhY2Y5N2ZjMmQ3YWYzZmQ1OWQ1OWVlNTNmZTgwY2NkYTkwYy4u
ZDA0MTJkMWRlZGE2MWI3YmY0YzVkNjkyN2FiMDY4MTliOTYyZDMyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29udGFjdC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvbnRhY3QuaApAQCAtNDYsNyArNDYs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UGF5bWVudENvbnRhY3QoKSA9IGRlZmF1bHQ7CiAK
ICAgICBzdGF0aWMgUGF5bWVudENvbnRhY3QgZnJvbUFwcGxlUGF5UGF5bWVudENvbnRhY3QodW5z
aWduZWQgdmVyc2lvbiwgY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYpOwotICAgIHZpcnR1
YWwgQXBwbGVQYXlQYXltZW50Q29udGFjdCB0b0FwcGxlUGF5UGF5bWVudENvbnRhY3QoKSBjb25z
dDsKKyAgICB2aXJ0dWFsIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgdG9BcHBsZVBheVBheW1lbnRD
b250YWN0KHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0OwogCiAgICAgUEtDb250YWN0ICpwa0NvbnRh
Y3QoKSBjb25zdCB7IHJldHVybiBtX3BrQ29udGFjdC5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5jcHAKaW5k
ZXggYTJjOWQwMzM0YjkyNjg0NTk1MjVlZTkyNzljNzQzNjg2YmFiMTA0ZC4uODExMWNmNWZiZGJk
MzA2MDVjMDI2ZGUzZjQ2NTY3ZGE0OWM0YWFmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmNwcApAQCAtNDUsNyArNDUs
NyBAQCBQYXltZW50Q29vcmRpbmF0b3I6On5QYXltZW50Q29vcmRpbmF0b3IoKQogICAgIG1fY2xp
ZW50LnBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpOwogfQogCi1ib29sIFBheW1lbnRDb29y
ZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pCitib29sIFBheW1lbnRD
b29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIG1fY2xpZW50LnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKTsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb29yZGluYXRvci5oCmlu
ZGV4IDgwNjc3NDg1M2Y0M2RlNWQzNzZlYzBjNTA4YzMzYmU5ZTkyZWZiNmIuLmFmODc3OWIxZDI3
YzQ2NWU3YmUxOTNjZjUzMGIxNjgyZDE4ZjJhNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuaApAQCAtNTAsNyArNTAsNyBA
QCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQgUGF5bWVudENvb3JkaW5hdG9y
KFBheW1lbnRDb29yZGluYXRvckNsaWVudCYpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYXltZW50
Q29vcmRpbmF0b3IoKTsKIAotICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNp
b24pOworICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0Owog
ICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgdm9pZCBjYW5NYWtlUGF5bWVudHNXaXRo
QWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKTsKICAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3QgU3RyaW5nJiBtZXJjaGFudElk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RGOjpGdW5jdGlvbjx2b2lkIChi
b29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmgKaW5kZXggNGIzOTc3NTQwMGFkZTc3YzUzODVkMTY1
YTQwNTQyNDU1ZDAyOTVhOC4uMzcwOTA0MTljNWYxOWY5ZThkMTU0ZmRkMzkxZGMwYTcwODE4MWJh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vz
c2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudFNlc3Np
b24uaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBQYXltZW50U2Vzc2lvbiA6IHB1YmxpYyB2aXJ0
dWFsIFBheW1lbnRTZXNzaW9uQmFzZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIEV4Y2VwdGlvbk9y
PHZvaWQ+IGNhbkNyZWF0ZVNlc3Npb24oRG9jdW1lbnQmKTsKIAorICAgIHZpcnR1YWwgdW5zaWdu
ZWQgdmVyc2lvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdmFsaWRhdGVNZXJjaGFu
dChjb25zdCBVUkwmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZEF1dGhvcml6ZVBheW1lbnQo
Y29uc3QgUGF5bWVudCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdN
ZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9k
JikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2Nv
YS9QYXltZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29h
L1BheW1lbnRDb2NvYS5tbQppbmRleCA5OTM4N2I5YzA4MjFlYjIwNGZlMWI3ZWZkZmNkMWIzNjk5
N2ViMDU2Li4wYjI5ZDc0N2UyNDA3YzM1OWZkY2IxNGIzYjc4YzVhZDYxZDJkODg2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2NvYS5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2Nv
YS5tbQpAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgQXBwbGVQYXlQYXltZW50OjpUb2tlbiBjb252
ZXJ0KFBLUGF5bWVudFRva2VuICpwYXltZW50VG9rZW4pCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0K
IAotc3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5bWVudCAqcGF5bWVudCkKK3N0
YXRpYyBBcHBsZVBheVBheW1lbnQgY29udmVydCh1bnNpZ25lZCB2ZXJzaW9uLCBQS1BheW1lbnQg
KnBheW1lbnQpCiB7CiAgICAgQVNTRVJUKHBheW1lbnQpOwogCkBAIC02MCwxNiArNjAsMTYgQEAg
c3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5bWVudCAqcGF5bWVudCkKICAgICBy
ZXN1bHQudG9rZW4gPSBjb252ZXJ0KHBheW1lbnQudG9rZW4pOwogCiAgICAgaWYgKHBheW1lbnQu
YmlsbGluZ0NvbnRhY3QpCi0gICAgICAgIHJlc3VsdC5iaWxsaW5nQ29udGFjdCA9IFBheW1lbnRD
b250YWN0KHBheW1lbnQuYmlsbGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgp
OworICAgICAgICByZXN1bHQuYmlsbGluZ0NvbnRhY3QgPSBQYXltZW50Q29udGFjdChwYXltZW50
LmJpbGxpbmdDb250YWN0KS50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodmVyc2lvbik7CiAgICAg
aWYgKHBheW1lbnQuc2hpcHBpbmdDb250YWN0KQotICAgICAgICByZXN1bHQuc2hpcHBpbmdDb250
YWN0ID0gUGF5bWVudENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQ
YXltZW50Q29udGFjdCgpOworICAgICAgICByZXN1bHQuc2hpcHBpbmdDb250YWN0ID0gUGF5bWVu
dENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0NvbnRhY3QpLnRvQXBwbGVQYXlQYXltZW50Q29udGFj
dCh2ZXJzaW9uKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKLUFwcGxlUGF5UGF5bWVudCBQ
YXltZW50Ojp0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0CitBcHBsZVBheVBheW1lbnQgUGF5bWVu
dDo6dG9BcHBsZVBheVBheW1lbnQodW5zaWduZWQgdmVyc2lvbikgY29uc3QKIHsKLSAgICByZXR1
cm4gY29udmVydChtX3BrUGF5bWVudC5nZXQoKSk7CisgICAgcmV0dXJuIGNvbnZlcnQodmVyc2lv
biwgbV9wa1BheW1lbnQuZ2V0KCkpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0Q29jb2EubW0KaW5k
ZXggMGQ4MjI0OTAzMjA5MTI3NTIwNDc3MWI5YzI1ZWMxNTcwZGZiMzRiMC4uMDhlZGZlY2ZjN2Rj
ZGRkZjE0ZjBkNDZmMDRhNTRlMzQ1MGQyOTY4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFjdENvY29hLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvbnRhY3RDb2NvYS5tbQpA
QCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtDb250YWN0PiBjb252ZXJ0KHVu
c2lnbmVkIHZlcnNpb24sIGNvbnN0IEFwcGxlUGF5UGF5bWVudENvbnRhCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIAotc3RhdGljIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgY29udmVydChQS0NvbnRh
Y3QgKmNvbnRhY3QpCitzdGF0aWMgQXBwbGVQYXlQYXltZW50Q29udGFjdCBjb252ZXJ0KHVuc2ln
bmVkIHZlcnNpb24sIFBLQ29udGFjdCAqY29udGFjdCkKIHsKICAgICBBU1NFUlQoY29udGFjdCk7
CiAKQEAgLTE5MSwxMCArMTkxLDEyIEBAIHN0YXRpYyBBcHBsZVBheVBheW1lbnRDb250YWN0IGNv
bnZlcnQoUEtDb250YWN0ICpjb250YWN0KQogICAgIHJlc3VsdC5mYW1pbHlOYW1lID0gbmFtZS5m
YW1pbHlOYW1lOwogICAgIHJlc3VsdC5sb2NhbGl6ZWROYW1lID0gW05TUGVyc29uTmFtZUNvbXBv
bmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5nRnJvbVBlcnNvbk5hbWVDb21wb25lbnRzOm5h
bWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlclN0eWxlRGVmYXVsdCBvcHRp
b25zOjBdOwogCi0gICAgTlNQZXJzb25OYW1lQ29tcG9uZW50cyAqcGhvbmV0aWNOYW1lID0gbmFt
ZS5waG9uZXRpY1JlcHJlc2VudGF0aW9uOwotICAgIHJlc3VsdC5waG9uZXRpY0dpdmVuTmFtZSA9
IHBob25ldGljTmFtZS5naXZlbk5hbWU7Ci0gICAgcmVzdWx0LnBob25ldGljRmFtaWx5TmFtZSA9
IHBob25ldGljTmFtZS5mYW1pbHlOYW1lOwotICAgIHJlc3VsdC5sb2NhbGl6ZWRQaG9uZXRpY05h
bWUgPSBbTlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlciBsb2NhbGl6ZWRTdHJpbmdGcm9t
UGVyc29uTmFtZUNvbXBvbmVudHM6bmFtZSBzdHlsZTpOU1BlcnNvbk5hbWVDb21wb25lbnRzRm9y
bWF0dGVyU3R5bGVEZWZhdWx0IG9wdGlvbnM6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRl
clBob25ldGljXTsKKyAgICBpZiAodmVyc2lvbiA+PSAzKSB7CisgICAgICAgIE5TUGVyc29uTmFt
ZUNvbXBvbmVudHMgKnBob25ldGljTmFtZSA9IG5hbWUucGhvbmV0aWNSZXByZXNlbnRhdGlvbjsK
KyAgICAgICAgcmVzdWx0LnBob25ldGljR2l2ZW5OYW1lID0gcGhvbmV0aWNOYW1lLmdpdmVuTmFt
ZTsKKyAgICAgICAgcmVzdWx0LnBob25ldGljRmFtaWx5TmFtZSA9IHBob25ldGljTmFtZS5mYW1p
bHlOYW1lOworICAgICAgICByZXN1bHQubG9jYWxpemVkUGhvbmV0aWNOYW1lID0gW05TUGVyc29u
TmFtZUNvbXBvbmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5nRnJvbVBlcnNvbk5hbWVDb21w
b25lbnRzOm5hbWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlclN0eWxlRGVm
YXVsdCBvcHRpb25zOk5TUGVyc29uTmFtZUNvbXBvbmVudHNGb3JtYXR0ZXJQaG9uZXRpY107Cisg
ICAgfQogCiAgICAgQ05Qb3N0YWxBZGRyZXNzICpwb3N0YWxBZGRyZXNzID0gY29udGFjdC5wb3N0
YWxBZGRyZXNzOwogICAgIGlmIChwb3N0YWxBZGRyZXNzLnN0cmVldC5sZW5ndGgpIHsKQEAgLTIx
OCw5ICsyMjAsOSBAQCBQYXltZW50Q29udGFjdCBQYXltZW50Q29udGFjdDo6ZnJvbUFwcGxlUGF5
UGF5bWVudENvbnRhY3QodW5zaWduZWQgdmVyc2lvbiwgY29ucwogICAgIHJldHVybiBQYXltZW50
Q29udGFjdChjb252ZXJ0KHZlcnNpb24sIGNvbnRhY3QpLmdldCgpKTsKIH0KIAotQXBwbGVQYXlQ
YXltZW50Q29udGFjdCBQYXltZW50Q29udGFjdDo6dG9BcHBsZVBheVBheW1lbnRDb250YWN0KCkg
Y29uc3QKK0FwcGxlUGF5UGF5bWVudENvbnRhY3QgUGF5bWVudENvbnRhY3Q6OnRvQXBwbGVQYXlQ
YXltZW50Q29udGFjdCh1bnNpZ25lZCB2ZXJzaW9uKSBjb25zdAogewotICAgIHJldHVybiBjb252
ZXJ0KG1fcGtDb250YWN0LmdldCgpKTsKKyAgICByZXR1cm4gY29udmVydCh2ZXJzaW9uLCBtX3Br
Q29udGFjdC5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5
bWVudEhhbmRsZXIuY3BwCmluZGV4IDI5MjUwOGM5OTFhMzgxNDc1Njg3YmMzOGFkOTQxNmQzZWQx
YWRhOWUuLjBmYjgxNTVmMTAwODEwNGZmZDA2ZWRiOGMyNjI2MDZmNzAzNjk4ZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmNwcApAQCAtNzksMTIgKzc5
LDEyIEBAIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXIoRG9j
dW1lbnQmIGRvY3VtZW50LCBjb25zdCBQYXltZW50CiAgICAgQVNTRVJUKGhhbmRsZXNJZGVudGlm
aWVyKG1faWRlbnRpZmllcikpOwogfQogCi1Eb2N1bWVudCYgQXBwbGVQYXlQYXltZW50SGFuZGxl
cjo6ZG9jdW1lbnQoKQorRG9jdW1lbnQmIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRvY3VtZW50
KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1lbnQ+KCpzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCkpOwogfQogCi1QYXltZW50Q29vcmRpbmF0b3ImIEFwcGxlUGF5UGF5bWVudEhh
bmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpCitQYXltZW50Q29vcmRpbmF0b3ImIEFwcGxlUGF5
UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IFdlYkNvcmU6OnBheW1lbnRDb29yZGluYXRvcihkb2N1bWVudCgpKTsKIH0KQEAgLTM4NSw2ICsz
ODUsMTYgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpjb21wbGV0ZShzdGQ6Om9wdGlv
bmFsPFBheW1lbnRDb21wbGV0ZT4mJiByZXN1bHQpCiAgICAgcGF5bWVudENvb3JkaW5hdG9yKCku
Y29tcGxldGVQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGF1dGhvcml6YXRpb25SZXN1bHQpKTsKIH0K
IAordW5zaWduZWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmVyc2lvbigpIGNvbnN0Cit7Cisg
ICAgaWYgKCFtX2FwcGxlUGF5UmVxdWVzdCkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCisgICAg
YXV0byB2ZXJzaW9uID0gbV9hcHBsZVBheVJlcXVlc3QtPnZlcnNpb247CisgICAgQVNTRVJUKHBh
eW1lbnRDb29yZGluYXRvcigpLnN1cHBvcnRzVmVyc2lvbih2ZXJzaW9uKSk7CisgICAgcmV0dXJu
IHZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmFsaWRhdGVNZXJj
aGFudChjb25zdCBVUkwmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAgaWYgKHZhbGlkYXRpb25VUkwu
aXNWYWxpZCgpKQpAQCAtMzk4LDcgKzQwOCw3IEBAIHN0YXRpYyBSZWY8UGF5bWVudEFkZHJlc3M+
IGNvbnZlcnQoY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYgY29udGFjdCkKIAogdm9pZCBB
cHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQm
IHBheW1lbnQpCiB7Ci0gICAgYXV0byBhcHBsZVBheVBheW1lbnQgPSBwYXltZW50LnRvQXBwbGVQ
YXlQYXltZW50KCk7CisgICAgYXV0byBhcHBsZVBheVBheW1lbnQgPSBwYXltZW50LnRvQXBwbGVQ
YXlQYXltZW50KHZlcnNpb24oKSk7CiAgICAgYXV0byYgZXhlY1N0YXRlID0gKmRvY3VtZW50KCku
ZXhlY1N0YXRlKCk7CiAgICAgYXV0byBsb2NrID0gSlNDOjpKU0xvY2tIb2xkZXIgeyAmZXhlY1N0
YXRlIH07CiAgICAgYXV0byBkZXRhaWxzID0gSlNDOjpTdHJvbmc8SlNDOjpKU09iamVjdD4geyBl
eGVjU3RhdGUudm0oKSwgYXNPYmplY3QodG9KUzxJRExEaWN0aW9uYXJ5PEFwcGxlUGF5UGF5bWVu
dD4+KGV4ZWNTdGF0ZSwgKkpTQzo6anNDYXN0PEpTRE9NR2xvYmFsT2JqZWN0Kj4oZXhlY1N0YXRl
LmxleGljYWxHbG9iYWxPYmplY3QoKSksIGFwcGxlUGF5UGF5bWVudCkpIH07CkBAIC00MTMsNyAr
NDIzLDcgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ01l
dGhvZChjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW4KIAogdm9pZCBBcHBsZVBheVBheW1lbnRI
YW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNo
aXBwaW5nQ29udGFjdCkKIHsKLSAgICBtX3BheW1lbnRSZXF1ZXN0LT5zaGlwcGluZ0FkZHJlc3ND
aGFuZ2VkKGNvbnZlcnQoc2hpcHBpbmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgp
KSk7CisgICAgbV9wYXltZW50UmVxdWVzdC0+c2hpcHBpbmdBZGRyZXNzQ2hhbmdlZChjb252ZXJ0
KHNoaXBwaW5nQ29udGFjdC50b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodmVyc2lvbigpKSkpOwog
fQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZFNlbGVjdFBheW1lbnRNZXRob2Qo
Y29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFu
ZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9B
cHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5kZXggYzcyYTlkNTlhNjc1MmJkNzBlZDJmZWJkNjk1
OGY0ZGFlMDQxN2UzYy4uOWRiMjNiMjU4NDE3ZGNhYTBjMDRiNjdhMWU4MmM1MThhYmFlYzBlYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVz
dC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKQEAgLTQ5LDgg
KzQ5LDggQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUGF5bWVudEhhbmRsZXI7CiAgICAg
ZXhwbGljaXQgQXBwbGVQYXlQYXltZW50SGFuZGxlcihEb2N1bWVudCYsIGNvbnN0IFBheW1lbnRS
ZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyJiwgUGF5bWVudFJlcXVlc3QmKTsKIAotICAgIERvY3Vt
ZW50JiBkb2N1bWVudCgpOwotICAgIFBheW1lbnRDb29yZGluYXRvciYgcGF5bWVudENvb3JkaW5h
dG9yKCk7CisgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Q7CisgICAgUGF5bWVudENvb3Jk
aW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAogICAgIEV4Y2VwdGlvbk9yPEFw
cGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExpbmVJdGVtcz4gY29tcHV0ZVRv
dGFsQW5kTGluZUl0ZW1zKCk7CiAKQEAgLTY3LDYgKzY3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGNvbXBsZXRlKHN0ZDo6b3B0aW9uYWw8UGF5bWVudENvbXBsZXRlPiYmKSBmaW5hbDsKIAogICAg
IC8vIFBheW1lbnRTZXNzaW9uCisgICAgdW5zaWduZWQgdmVyc2lvbigpIGNvbnN0IGZpbmFsOwog
ICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmKSBmaW5hbDsKICAgICB2b2lkIGRp
ZEF1dGhvcml6ZVBheW1lbnQoY29uc3QgUGF5bWVudCYpIGZpbmFsOwogICAgIHZvaWQgZGlkU2Vs
ZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3Q6OlNo
aXBwaW5nTWV0aG9kJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50LmgKaW5k
ZXggZTk1MzlmYjJkYzZlMDlhMjNiNTk3MzI5NzM0ODM3ZTllODVmNTdmMC4uOGMwMzI0MzQzNzY1
MzZiM2Y3ZGVlOWIzN2M4YzUwYTIxYmM4YzM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9Nb2NrUGF5bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1Bh
eW1lbnQuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEFw
cGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
YXBwbGVQYXlQYXltZW50OyB9CisgICAgQXBwbGVQYXlQYXltZW50IHRvQXBwbGVQYXlQYXltZW50
KHVuc2lnbmVkKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2FwcGxlUGF5UGF5bWVudDsgfQogCiBw
cml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudCBtX2FwcGxlUGF5UGF5bWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdC5oCmluZGV4IGI1MjlkNDRiMmYzNTJh
Y2JjYjgyZjllYjA5NDNlZTE4NzhlZDYwNDUuLjg0YzI1N2ZkMzhkNjU4NTY0ZTg5ZTgyMTNkYTE1
ZTY5MjUwMDhkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1l
bnRDb250YWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudENvbnRh
Y3QuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIEFwcGxl
UGF5UGF5bWVudENvbnRhY3QgdG9BcHBsZVBheVBheW1lbnRDb250YWN0KCkgY29uc3QgZmluYWwg
eyByZXR1cm4gbV9hcHBsZVBheVBheW1lbnRDb250YWN0OyB9CisgICAgQXBwbGVQYXlQYXltZW50
Q29udGFjdCB0b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodW5zaWduZWQpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1fYXBwbGVQYXlQYXltZW50Q29udGFjdDsgfQogCiBwcml2YXRlOgogICAgIEFwcGxl
UGF5UGF5bWVudENvbnRhY3QgbV9hcHBsZVBheVBheW1lbnRDb250YWN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L2JtYWxsb2MvYm1hbGxvYy54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDEwMDU3YWRj
MmFhOTBmYzc5NjgxM2E3ZDc3ZjdmNWE1OTg3MGQwZGUuLmFmNWMxZWZhYTc2OWFhM2I1ZWYwYzc1
MjYyOWRjZjhiMzNmNzNiODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9ibWFsbG9jL2JtYWxsb2MueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvYm1hbGxvYy9ibWFsbG9jLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE4NSw3ICsxODUsNyBAQAogCQkwRjVCRjE3MjFGMjND
NTcxMDAyOUQ5MUQgLyogQkV4cG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBCRXhwb3J0Lmg7IHBhdGgg
PSBibWFsbG9jL0JFeHBvcnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY3NEI5
M0MxRjg5NzEzRTAwQjkzNUQzIC8qIENyeXB0b1JhbmRvbS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBDcnlwdG9SYW5kb20uaDsgcGF0aCA9IGJtYWxsb2MvQ3J5cHRvUmFuZG9t
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGNzRCOTNEMUY4OTcxM0UwMEI5MzVE
MyAvKiBDcnlwdG9SYW5kb20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gQ3J5cHRvUmFuZG9tLmNwcDsgcGF0aCA9IGJtYWxsb2MvQ3J5cHRvUmFuZG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY3RUI3RUYxRjk1Mjg1MzAwRjFBQkNCIC8qIGxp
YnRlc3RibWFsbG9jICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5
cGUgPSAiY29tcGlsZWQubWFjaC1vLmV4ZWN1dGFibGUiOyBpbmNsdWRlSW5JbmRleCA9IDA7IG5h
bWUgPSBsaWJ0ZXN0Ym1hbGxvYzsgcGF0aCA9IHRlc3RibWFsbG9jOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OworCQkwRjdFQjdFRjFGOTUyODUzMDBGMUFCQ0IgLyogdGVzdGJt
YWxsb2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJj
b21waWxlZC5tYWNoLW8uZXhlY3V0YWJsZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IHRl
c3RibWFsbG9jOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQkwRjdFQjdG
MTFGOTUyODUzMDBGMUFCQ0IgLyogdGVzdGJtYWxsb2MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
dGVzdGJtYWxsb2MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwRjdFQjdGQzFG
OTU0MUFEMDBGMUFCQ0IgLyogRWxpZ2liaWxpdHlSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gRWxpZ2liaWxpdHlSZXN1bHQuaDsgcGF0aCA9IGJtYWxsb2MvRWxpZ2li
aWxpdHlSZXN1bHQuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQkwRjdFQjdGRDFG
OTU0MUFEMDBGMUFCQ0IgLyogSXNvSGVhcEltcGxJbmxpbmVzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IElzb0hlYXBJbXBsSW5saW5lcy5oOyBwYXRoID0gYm1hbGxvYy9Jc29I
ZWFwSW1wbElubGluZXMuaDsgc291cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwpAQCAtNDAwLDIz
ICs0MDAsMjMgQEAKIAkJCQkxNDQ4QzJGRDE4RjM3NTJCMDA1MDI4MzkgLyogYXBpICovLAogCQkJ
CTE0RDlEQjREMTdGMjg2NUMwMEVBQUI3OSAvKiBjYWNoZSAqLywKIAkJCQkxNEI2NTBDNDE4RjM5
RjQ4MDA3NTE5NjggLyogQ29uZmlndXJhdGlvbnMgKi8sCisJCQkJMEY3RUI3RjkxRjk1NDE0QzAw
RjFBQkNCIC8qIEZyYW1ld29ya3MgKi8sCiAJCQkJMTREOURCNEUxN0YyODY2RTAwRUFBQjc5IC8q
IGhlYXAgKi8sCiAJCQkJMTQ3QUFBOUMxOENFNjAxMDAwMjIwMUU0IC8qIGhlYXA6IGxhcmdlICov
LAogCQkJCTE0N0FBQTlBMThDRTVGRDMwMDIyMDFFNCAvKiBoZWFwOiBzbWFsbCAqLywKIAkJCQkw
RjdFQjdGQjFGOTU0MTY5MDBGMUFCQ0IgLyogaXNvICovLAotCQkJCTBGN0VCN0YwMUY5NTI4NTMw
MEYxQUJDQiAvKiB0ZXN0ICovLAogCQkJCTE0NUY2ODQwMTc5REM0NUYwMEQ2NTU5OCAvKiBQcm9k
dWN0cyAqLywKIAkJCQkxNEQ5REI0RjE3RjI4Njg5MDBFQUFCNzkgLyogc3RkbGliICovLAotCQkJ
CTBGN0VCN0Y5MUY5NTQxNEMwMEYxQUJDQiAvKiBGcmFtZXdvcmtzICovLAorCQkJCTBGN0VCN0Yw
MUY5NTI4NTMwMEYxQUJDQiAvKiB0ZXN0ICovLAogCQkJKTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CiAJCX07CiAJCTE0NUY2ODQwMTc5REM0NUYwMEQ2NTU5OCAvKiBQcm9kdWN0cyAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJMEY3RUI3RUYxRjk1
Mjg1MzAwRjFBQkNCIC8qIHRlc3RibWFsbG9jICovLAogCQkJCTE0RjI3MUJFMThFQTM5NjMwMDhD
MTUyRiAvKiBsaWJibWFsbG9jLmEgKi8sCiAJCQkJMTRDQzM5NDQxOEVBODc0MzAwNEFGRTM0IC8q
IGxpYm1ibWFsbG9jLmR5bGliICovLAotCQkJCTBGN0VCN0VGMUY5NTI4NTMwMEYxQUJDQiAvKiBs
aWJ0ZXN0Ym1hbGxvYyAqLywKIAkJCSk7CiAJCQluYW1lID0gUHJvZHVjdHM7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtNDk3LDYgKzQ5Nyw3IEBACiAJCTE0RDlEQjRGMTdGMjg2ODkw
MEVBQUI3OSAvKiBzdGRsaWIgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTQ0MDhGMjk2MUM5ODk2QzQwMDEyRUM2NCAvKiBkYXJ3aW4gKi8sCiAJCQkJMTQy
MUE4NzcxOEVFNDYyQTAwQjRERDY4IC8qIEFsZ29yaXRobS5oICovLAogCQkJCTY1OTlDNUNBMUVD
M0YxNTkwMEEyRjdCQiAvKiBBdmFpbGFibGVNZW1vcnkuY3BwICovLAogCQkJCTY1OTlDNUNCMUVD
M0YxNTkwMEEyRjdCQiAvKiBBdmFpbGFibGVNZW1vcnkuaCAqLywKQEAgLTUwOSw3ICs1MTAsNiBA
QAogCQkJCTE0QzkxOUM4MThGQ0M1OUYwMDI4REI0MyAvKiBCUGxhdGZvcm0uaCAqLywKIAkJCQkw
Rjc0QjkzRDFGODk3MTNFMDBCOTM1RDMgLyogQ3J5cHRvUmFuZG9tLmNwcCAqLywKIAkJCQkwRjc0
QjkzQzFGODk3MTNFMDBCOTM1RDMgLyogQ3J5cHRvUmFuZG9tLmggKi8sCi0JCQkJNDQwOEYyOTYx
Qzk4OTZDNDAwMTJFQzY0IC8qIGRhcndpbiAqLywKIAkJCQkxNEQ5REI0NTE3RjI0NDcxMDBFQUFC
NzkgLyogRml4ZWRWZWN0b3IuaCAqLywKIAkJCQkwRkQ1NTczMjFGN0VEQjdCMDBCMUYwQTMgLyog
SGVhcEtpbmQuY3BwICovLAogCQkJCTBGNUJGMTQ2MUYyMkE4QjEwMDI5RDkxRCAvKiBIZWFwS2lu
ZC5oICovLApAQCAtNTU1LDg3ICs1NTUsODcgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0
ODM2NDc7CiAJCQlmaWxlcyA9ICgKIAkJCQkxNERENzhDNTE4RjQ4RDc1MDA5NTA3MDIgLyogQWxn
b3JpdGhtLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgzNDFGOTU0MUIwMDBGMUFCQ0IgLyog
QWxsSXNvSGVhcHMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VCODRGMUY5NTRENEUwMEYxQUJD
QiAvKiBBbGxJc29IZWFwc0lubGluZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGM0RBMDE0MUYy
NjdBQjgwMDM0MkMwOCAvKiBBbGxvY2F0aW9uS2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRE
RDc4OTgxOEY0OEQ0QTAwOTUwNzAyIC8qIEFsbG9jYXRvci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
MEY1QkYxNTMxRjIyRTE1NzAwMjlEOTFEIC8qIFNjYXZlbmdlci5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMEY3RUI4MjkxRjk1NDFCMDAwRjFBQkNCIC8qIEZyZWVMaXN0SW5saW5lcy5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMEY3RUI4NUExRjk1NUExMTAwRjFBQkNCIC8qIERlZmVycmVkRGVjb21taXRJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjgzNzFGOTU0MUIwMDBGMUFCQ0IgLyog
SXNvRGlyZWN0b3J5LmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjVCRjE0NzFGMjJBOEIxMDAyOUQ5
MUQgLyogSGVhcEtpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCTY1OTlDNUNEMUVDM0YxNTkwMEEy
RjdCQiAvKiBBdmFpbGFibGVNZW1vcnkuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGN0VCODQ1MUY5
NTQxQjAwMEYxQUJDQiAvKiBJc29IZWFwSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRERDc4
QzcxOEY0OEQ3NTAwOTUwNzAyIC8qIEJBc3NlcnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUFEMDkz
NDMzMUZDRjQwNkQwMEU4NUVCNSAvKiBCQ29tcGlsZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBG
NUJGMTczMUYyM0M1NzEwMDI5RDkxRCAvKiBCRXhwb3J0LmggaW4gSGVhZGVycyAqLywKKwkJCQkx
NERENzhDOTE4RjQ4RDc1MDA5NTA3MDIgLyogQklubGluZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MEY3RUI4NEMxRjk1NDFDNzAwRjFBQkNCIC8qIEJpdHMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0
NDhDMzAxMThGMzc1NEMwMDUwMjgzOSAvKiBibWFsbG9jLmggaW4gSGVhZGVycyAqLywKLQkJCQkw
RjdFQjgzODFGOTU0MUIwMDBGMUFCQ0IgLyogRWxpZ2liaWxpdHlSZXN1bHRJbmxpbmVzLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjdFQjg0RDFGOTU0MUM3MDBGMUFCQ0IgLyogQk1hbGxvY2VkLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxNEM5MTlDOTE4RkNDNTlGMDAyOERCNDMgLyogQlBsYXRmb3Jt
LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDI2RTI4MzFDODM5NTQ3MDA4RUIwNDIgLyogQlNvZnRM
aW5raW5nLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjg0NjFGOTU0MUIwMDBGMUFCQ0IgLyog
SXNvVExTSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4NDIxRjk1NDFCMDAwRjFB
QkNCIC8qIElzb1RMUy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4NEYxRjk1NEQ0RTAwRjFB
QkNCIC8qIEFsbElzb0hlYXBzSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRERDc4OUMx
OEY0OEQ0QTAwOTUwNzAyIC8qIEJ1bXBBbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTBG
N0VCODIzMUY5NTQxQjAwMEYxQUJDQiAvKiBFbGlnaWJpbGl0eVJlc3VsdC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMEY3NEI5M0UxRjg5NzEzRTAwQjkzNUQzIC8qIENyeXB0b1JhbmRvbS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMTQwRkEwMDMxOUNFNDI5QzAwRkZEM0M4IC8qIEJ1bXBSYW5nZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMTRERDc4OTkxOEY0OEQ0QTAwOTUwNzAyIC8qIENhY2hlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxNDdEQzZFMzFDQTVCNzBCMDA3MjRFOEQgLyogQ2h1bmsuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTBGN0VCODJDMUY5NTQxQjAwMEYxQUJDQiAvKiBJc29IZWFwLmggaW4g
SGVhZGVycyAqLywKLQkJCQkwRjVCRjE3MzFGMjNDNTcxMDAyOUQ5MUQgLyogQkV4cG9ydC5oIGlu
IEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4M0MxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0FsbG9jYXRv
ci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4NDMxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RM
U0FsbG9jYXRvckVudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjc0QjkzRTFGODk3MTNFMDBC
OTM1RDMgLyogQ3J5cHRvUmFuZG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNERENzg5QTE4RjQ4
RDRBMDA5NTA3MDIgLyogRGVhbGxvY2F0b3IuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGN0VCODQ5
MUY5NTQxQjAwMEYxQUJDQiAvKiBJc29EaXJlY3RvcnlQYWdlLmggaW4gSGVhZGVycyAqLywKLQkJ
CQkwRjdFQjgyODFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvRGlyZWN0b3J5SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCi0JCQkJMEY3RUI4MjUxRjk1NDFCMDAwRjFBQkNCIC8qIERlZmVycmVkVHJpZ2dl
cklubGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0MkI0NDM3MUUyODM5RTcwMDFEQTZFOSAv
KiBEZWJ1Z0hlYXAuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGN0VCODRDMUY5NTQxQzcwMEYxQUJD
QiAvKiBCaXRzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgzRDFGOTU0MUIwMDBGMUFCQ0Ig
LyogRGVmZXJyZWREZWNvbW1pdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4NUExRjk1NUEx
MTAwRjFBQkNCIC8qIERlZmVycmVkRGVjb21taXRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjdFQjgzOTFGOTU0MUIwMDBGMUFCQ0IgLyogRGVmZXJyZWRUcmlnZ2VyLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjdFQjgyNTFGOTU0MUIwMDBGMUFCQ0IgLyogRGVmZXJyZWRUcmlnZ2VySW5s
aW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4MjMxRjk1NDFCMDAwRjFBQkNCIC8qIEVs
aWdpYmlsaXR5UmVzdWx0LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgzODFGOTU0MUIwMDBG
MUFCQ0IgLyogRWxpZ2liaWxpdHlSZXN1bHRJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
NDg5NUQ5MjFBM0EzMTlDMDAwNjIzNUQgLyogRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTE0REQ3OEM4MThGNDhENzUwMDk1MDcwMiAvKiBGaXhlZFZlY3Rvci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMEY3RUI4NDQxRjk1NDFCMDAwRjFBQkNCIC8qIEZyZWVMaXN0LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjdFQjgyOTFGOTU0MUIwMDBGMUFCQ0IgLyogRnJlZUxpc3RJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjVCRjE0RDFGMjJCMEMzMDAyOUQ5MUQgLyogR2lnYWNhZ2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTE0MDAyNzQ5MThGODlDMTMwMDExNUM5NyAvKiBIZWFwLmgg
aW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjg0ODFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvVExTQWxs
b2NhdG9yRW50cnlJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjg0RDFGOTU0MUM3
MDBGMUFCQ0IgLyogQk1hbGxvY2VkLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjgyQTFGOTU0
MUIwMDBGMUFCQ0IgLyogSXNvRGlyZWN0b3J5UGFnZUlubGluZXMuaCBpbiBIZWFkZXJzICovLAot
CQkJCTBGNUJGMTQ5MUYyMkE4RDgwMDI5RDkxRCAvKiBQZXJIZWFwS2luZC5oIGluIEhlYWRlcnMg
Ki8sCi0JCQkJMEY3RUI4MkQxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0VudHJ5LmggaW4gSGVh
ZGVycyAqLywKLQkJCQkxNERENzhDOTE4RjQ4RDc1MDA5NTA3MDIgLyogQklubGluZS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY1QkYxNDcxRjIyQThCMTAwMjlEOTFEIC8qIEhlYXBLaW5kLmggaW4g
SGVhZGVycyAqLywKKwkJCQkwRjdFQjgzQzFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvQWxsb2NhdG9y
LmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgyNjFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvQWxs
b2NhdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4NDExRjk1NDFCMDAwRjFB
QkNCIC8qIElzb0NvbmZpZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEY3RUI4NDcxRjk1NDFCMDAw
RjFBQkNCIC8qIElzb0RlYWxsb2NhdG9yLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgzQTFG
OTU0MUIwMDBGMUFCQ0IgLyogSXNvRGVhbGxvY2F0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjdFQjgzNzFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvRGlyZWN0b3J5LmggaW4gSGVhZGVy
cyAqLywKKwkJCQkwRjdFQjgyODFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvRGlyZWN0b3J5SW5saW5l
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4NDkxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0Rp
cmVjdG9yeVBhZ2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VCODJBMUY5NTQxQjAwMEYxQUJD
QiAvKiBJc29EaXJlY3RvcnlQYWdlSW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4
MkMxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0hlYXAuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VC
ODQ1MUY5NTQxQjAwMEYxQUJDQiAvKiBJc29IZWFwSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEY3RUI4MjQxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0hlYXBJbXBsSW5saW5lcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMEY3RUI4MzAxRjk1NDFCMDAwRjFBQkNCIC8qIElzb0hlYXBJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgyRTFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvUGFnZS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4MzExRjk1NDFCMDAwRjFBQkNCIC8qIElzb1BhZ2VJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKKwkJCQkwRjdFQjgyQjFGOTU0MUIwMDBGMUFCQ0IgLyog
SXNvUGFnZVRyaWdnZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VCODQyMUY5NTQxQjAwMEYx
QUJDQiAvKiBJc29UTFMuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VCODQzMUY5NTQxQjAwMEYx
QUJDQiAvKiBJc29UTFNBbGxvY2F0b3JFbnRyeS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4
NDgxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0FsbG9jYXRvckVudHJ5SW5saW5lcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJMEY3RUI4MzMxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0RlYWxsb2Nh
dG9yRW50cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGN0VCODI3MUY5NTQxQjAwMEYxQUJDQiAv
KiBJc29UTFNEZWFsbG9jYXRvckVudHJ5SW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMEY3
RUI4MkQxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0VudHJ5LmggaW4gSGVhZGVycyAqLywKKwkJ
CQkwRjdFQjgzNTFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvVExTRW50cnlJbmxpbmVzLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkwRjdFQjg0NjFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvVExTSW5saW5lcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMEY3RUI4NDAxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0xh
eW91dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ0QzA3RjUxQzdCNzAyNjAwNTFCQjZBIC8qIExh
cmdlTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNEM4OTkyRDFDQzU3ODMzMDAyN0EwNTcgLyog
TGFyZ2VSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwRkEwMDUxOUNFNEI2ODAwRkZEM0M4
IC8qIExpbmVNZXRhZGF0YS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4MzMxRjk1NDFCMDAw
RjFBQkNCIC8qIElzb1RMU0RlYWxsb2NhdG9yRW50cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0
MUQ5QjAwMUM4RTUxQzAwMDBBQkJBMCAvKiBMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk0NDI2
RTI4MTFDODM4RUUwMDA4RUIwNDIgLyogTG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3
RUI4MkUxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1BhZ2UuaCBpbiBIZWFkZXJzICovLAotCQkJCTBG
N0VCODNEMUY5NTQxQjAwMEYxQUJDQiAvKiBEZWZlcnJlZERlY29tbWl0LmggaW4gSGVhZGVycyAq
LywKLQkJCQkwRjdFQjgzNTFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvVExTRW50cnlJbmxpbmVzLmgg
aW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjgzMDFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvSGVhcElu
bGluZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0Qzg5OTJCMUNDNDg1RTcwMDI3QTA1NyAvKiBN
YXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0REQ3OENBMThGNDhENzUwMDk1MDcwMiAvKiBNdXRl
eC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ0QkUxMUYxQ0EzNDY1MjAwOTlDOEMwIC8qIE9iamVj
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRERDc4OTMxOEY0OEQwRjAwOTUwNzAyIC8qIE9iamVj
dFR5cGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTBGNUJGMTQ5MUYyMkE4RDgwMDI5RDkxRCAvKiBQ
ZXJIZWFwS2luZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTRERDc4Q0IxOEY0OEQ3NTAwOTUwNzAy
IC8qIFBlclByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAotCQkJCTBGN0VCODI2MUY5NTQxQjAwMEYx
QUJDQiAvKiBJc29BbGxvY2F0b3JJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjNEQTAx
NDFGMjY3QUI4MDAzNDJDMDggLyogQWxsb2NhdGlvbktpbmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTE0REQ3OENDMThGNDhENzUwMDk1MDcwMiAvKiBQZXJUaHJlYWQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTE0REQ3OENEMThGNDhENzUwMDk1MDcwMiAvKiBSYW5nZS5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMEY3RUI4NDQxRjk1NDFCMDAwRjFBQkNCIC8qIEZyZWVMaXN0LmggaW4gSGVhZGVycyAqLywK
KwkJCQkwRjVCRjE1MzFGMjJFMTU3MDAyOUQ5MUQgLyogU2NhdmVuZ2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxNDhFRkFFODFENkI5NTNCMDA4RTcyMUUgLyogU2NvcGVFeGl0LmggaW4gSGVhZGVy
cyAqLywKLQkJCQkwRjdFQjgzNDFGOTU0MUIwMDBGMUFCQ0IgLyogQWxsSXNvSGVhcHMuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTBGN0VCODQwMUY5NTQxQjAwMEYxQUJDQiAvKiBJc29UTFNMYXlvdXQu
aCBpbiBIZWFkZXJzICovLAotCQkJCTBGN0VCODM5MUY5NTQxQjAwMEYxQUJDQiAvKiBEZWZlcnJl
ZFRyaWdnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0REQ3ODkwMThGNDhDRUIwMDk1MDcwMiAv
KiBTaXplcy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4NDExRjk1NDFCMDAwRjFBQkNCIC8q
IElzb0NvbmZpZy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQUQwOTM0MzMxRkNGNDA2RDAwRTg1RUI1
IC8qIEJDb21waWxlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4MzExRjk1NDFCMDAwRjFB
QkNCIC8qIElzb1BhZ2VJbmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNERENzhCQzE4RjQ4
RDZCMDA5NTA3MDIgLyogU21hbGxMaW5lLmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjdFQjgyQjFG
OTU0MUIwMDBGMUFCQ0IgLyogSXNvUGFnZVRyaWdnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTE0
REQ3OEJEMThGNDhENkIwMDk1MDcwMiAvKiBTbWFsbFBhZ2UuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTE0M0NCODFEMTkwMjJCQzkwMEIxNkE0NSAvKiBTdGF0aWNNdXRleC5oIGluIEhlYWRlcnMgKi8s
Ci0JCQkJMEY3RUI4MjcxRjk1NDFCMDAwRjFBQkNCIC8qIElzb1RMU0RlYWxsb2NhdG9yRW50cnlJ
bmxpbmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNERENzhDRTE4RjQ4RDc1MDA5NTA3MDIgLyog
U3lzY2FsbC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY1QkYxNEQxRjIyQjBDMzAwMjlEOTFEIC8q
IEdpZ2FjYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNERENzhDRjE4RjQ4RDc1MDA5NTA3MDIg
LyogVmVjdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQkxNERENzhEMDE4RjQ4RDc1MDA5NTA3MDIg
LyogVk1BbGxvY2F0ZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMEY3RUI4M0ExRjk1NDFCMDAwRjFB
QkNCIC8qIElzb0RlYWxsb2NhdG9ySW5saW5lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQwMDI3
NEExOEY4OUMyMzAwMTE1Qzk3IC8qIFZNSGVhcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTQ0MEFG
Q0IxQTk1MjYxMTAwODM3RkFBIC8qIFpvbmUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKQEAgLTY1
OSw3ICs2NTksNyBAQAogCQkJKTsKIAkJCW5hbWUgPSB0ZXN0Ym1hbGxvYzsKIAkJCXByb2R1Y3RO
YW1lID0gdGVzdGJtYWxsb2M7Ci0JCQlwcm9kdWN0UmVmZXJlbmNlID0gMEY3RUI3RUYxRjk1Mjg1
MzAwRjFBQkNCIC8qIGxpYnRlc3RibWFsbG9jICovOworCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDBG
N0VCN0VGMUY5NTI4NTMwMEYxQUJDQiAvKiB0ZXN0Ym1hbGxvYyAqLzsKIAkJCXByb2R1Y3RUeXBl
ID0gImNvbS5hcHBsZS5wcm9kdWN0LXR5cGUudG9vbCI7CiAJCX07CiAJCTE0Q0MzOTQzMThFQTg3
NDMwMDRBRkUzNCAvKiBtYm1hbGxvYyAqLyA9IHsKQEAgLTc1NywzMCArNzU3LDMwIEBACiAJCQlp
c2EgPSBQQlhTb3VyY2VzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQkwRjVCRjE1MjFGMjJFMTU3MDAyOUQ5MUQgLyogU2NhdmVu
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTBGN0VCODM2MUY5NTQxQjAwMEYxQUJDQiAvKiBJ
c29UTFMuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEZENTU3MzMxRjdFREI3QjAwQjFGMEEzIC8q
IEhlYXBLaW5kLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTBGN0VCODNCMUY5NTQxQjAwMEYxQUJD
QiAvKiBJc29IZWFwSW1wbC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwRjU1NDlFRjFGQjU0NzA0
MDA3RkY3NUEgLyogSXNvUGFnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjdFQjgyRjFGOTU0
MUIwMDBGMUFCQ0IgLyogQWxsSXNvSGVhcHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTRGMjcx
QzMxOEVBMzk3ODAwOEMxNTJGIC8qIEFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2
NTk5QzVDQzFFQzNGMTU5MDBBMkY3QkIgLyogQXZhaWxhYmxlTWVtb3J5LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNTE2Nzc0MUZBRDY4NUMwMDgyMzZBOCAvKiBibWFsbG9jLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTE0RjI3MUM0MThFQTM5N0IwMDhDMTUyRiAvKiBDYWNoZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjc0QjkzRjFGODk3MTNFMDBCOTM1RDMgLyogQ3J5cHRvUmFuZG9tLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0RjI3MUM1MThFQTM5N0UwMDhDMTUyRiAvKiBEZWFsbG9j
YXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxNDJCNDQzNjFFMjgzOUU3MDAxREE2RTkgLyog
RGVidWdIZWFwLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0ODk1RDkxMUEzQTMxOUMwMDA2MjM1
RCAvKiBFbnZpcm9ubWVudC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwRjdFQjgzRjFGOTU0MUIw
MDBGMUFCQ0IgLyogSXNvVExTTGF5b3V0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBGN0VCODNF
MUY5NTQxQjAwMEYxQUJDQiAvKiBGcmVlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjVC
RjE0RjFGMjJERUFGMDAyOUQ5MUQgLyogR2lnYWNhZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MTRGMjcxQzcxOEVBMzk5MDAwOEMxNTJGIC8qIEhlYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MEZENTU3MzMxRjdFREI3QjAwQjFGMEEzIC8qIEhlYXBLaW5kLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTBGN0VCODNCMUY5NTQxQjAwMEYxQUJDQiAvKiBJc29IZWFwSW1wbC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkwRjU1NDlFRjFGQjU0NzA0MDA3RkY3NUEgLyogSXNvUGFnZS5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkwRjdFQjgzNjFGOTU0MUIwMDBGMUFCQ0IgLyogSXNvVExTLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGN0VCODMyMUY5NTQxQjAwMEYxQUJDQiAvKiBJc29UTFNFbnRyeS5j
cHAgaW4gU291cmNlcyAqLywKLQkJCQkwRjc0QjkzRjFGODk3MTNFMDBCOTM1RDMgLyogQ3J5cHRv
UmFuZG9tLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTBGNUJGMTRGMUYyMkRFQUYwMDI5RDkxRCAv
KiBHaWdhY2FnZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwRjdFQjgzRjFGOTU0MUIwMDBGMUFC
Q0IgLyogSXNvVExTTGF5b3V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE0NEMwN0Y0MUM3Qjcw
MjYwMDUxQkI2QSAvKiBMYXJnZU1hcC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkwRjdFQjgzRTFG
OTU0MUIwMDBGMUFCQ0IgLyogRnJlZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQyNkUy
ODAxQzgzOEVFMDAwOEVCMDQyIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEY3
RUI4MkYxRjk1NDFCMDAwRjFBQkNCIC8qIEFsbElzb0hlYXBzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTE0RjI3MUM4MThFQTM5OTAwMDhDMTUyRiAvKiBPYmplY3RUeXBlLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTBGNUJGMTUyMUYyMkUxNTcwMDI5RDkxRCAvKiBTY2F2ZW5nZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTQzQ0I4MUMxOTAyMkJDOTAwQjE2QTQ1IC8qIFN0YXRpY011dGV4LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0RjI3MUM5MThFQTM5OTAwMDhDMTUyRiAvKiBWTUhlYXAu
Y3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEY1MTY3NzQxRkFENjg1QzAwODIzNkE4IC8qIGJtYWxs
b2MuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTQ0MEFGQ0QxQTk1MjdBRjAwODM3RkFBIC8qIFpv
bmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0
cHJvY2Vzc2luZyA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329740</attachid>
            <date>2017-12-18 21:18:13 -0800</date>
            <delta_ts>2017-12-18 21:39:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180925-20171218211812.patch</filename>
            <type>text/plain</type>
            <size>23204</size>
            <attacher name="Andy Estes">aestes</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MDk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWI4MDFjNzJhMzVjZjUz
NjNiMjJlNGExOTRmNDY3OGE0NjgyOWFlMS4uMGNiYmNlMDM0MjU1Yzc1ZTJhZmM3MzdlOTMyMTBh
MGMxZjk5YjVjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDE3LTEyLTE3ICBBbmR5
IEVzdGVzICA8YWVzdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbQXBwbGUgUGF5XSBPbmx5IGlu
Y2x1ZGUgcGhvbmV0aWMgbmFtZSBwcm9wZXJ0aWVzIGluIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qg
d2hlbiB2ZXJzaW9uID49IDMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDkyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzU5MDc1OTY+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRvbi4KKworICAgICAgICBObyB0ZXN0cyBwb3NzaWJs
ZS4gVGhlIGZpeCBpbnZvbHZlcyBjb252ZXJ0aW5nIFBLQ29udGFjdHMsIHdoaWNoIHdlIGNhbid0
IGNyZWF0ZSBpbiBvdXIgdGVzdCBoYXJuZXNzLgorCisgICAgICAgICogTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
QXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpBcHBsZVBheVBheW1lbnRBdXRob3JpemVk
RXZlbnQpOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9y
aXplZEV2ZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjpBcHBsZVBheVNlc3Npb24pOgorICAgICAgICAo
V2ViQ29yZTo6QXBwbGVQYXlTZXNzaW9uOjp2ZXJzaW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5U2Vzc2lvbjo6ZGlkQXV0aG9yaXplUGF5bWVudCk6CisgICAgICAgIChXZWJD
b3JlOjpBcHBsZVBheVNlc3Npb246OmRpZFNlbGVjdFNoaXBwaW5nQ29udGFjdCk6CisgICAgICAg
ICogTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaDoKKyAgICAgICAgKiBNb2R1bGVz
L2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQ6OkFwcGxl
UGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaDoKKyAgICAgICAgKiBN
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaDoKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L1Bh
eW1lbnRDb250YWN0Lmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRp
bmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpzdXBwb3J0
c1ZlcnNpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UGF5bWVudENvb3JkaW5hdG9yOjpz
dXBwb3J0c1ZlcnNpb24pOiBEZWxldGVkLgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yLmg6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9QYXltZW50U2Vz
c2lvbi5oOgorICAgICAgICAqIE1vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVudENvY29hLm1t
OgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50
Ojp0b0FwcGxlUGF5UGF5bWVudCBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy9hcHBsZXBheS9j
b2NvYS9QYXltZW50Q29udGFjdENvY29hLm1tOgorICAgICAgICAoV2ViQ29yZTo6Y29udmVydCk6
CisgICAgICAgIChXZWJDb3JlOjpQYXltZW50Q29udGFjdDo6dG9BcHBsZVBheVBheW1lbnRDb250
YWN0IGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0Fw
cGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXlt
ZW50SGFuZGxlcjo6ZG9jdW1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQ
YXltZW50SGFuZGxlcjo6cGF5bWVudENvb3JkaW5hdG9yIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OkFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnZlcnNpb24gY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZGlkQXV0aG9yaXplUGF5bWVudCk6CisgICAg
ICAgIChXZWJDb3JlOjpBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ0Nv
bnRhY3QpOgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6ZG9jdW1l
bnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6QXBwbGVQYXlQYXltZW50SGFuZGxlcjo6
cGF5bWVudENvb3JkaW5hdG9yKTogRGVsZXRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2FwcGxlcGF5
L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuaDoKKwogMjAxNy0xMi0xOCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERlZmF1bHQgc2NvcGUg
dXNlZCB3aGVuIHJlZ2lzdGVyaW5nIGEgc2VydmljZSB3b3JrZXIgaXMgd3JvbmcKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9y
aXplZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQ
YXltZW50QXV0aG9yaXplZEV2ZW50LmNwcAppbmRleCBiYjkyYmMxYzNlNTA5YTk0MTMyN2Y2ZWJh
ZjhiODhjNmM0NzM5NzliLi4zYTM5NDUyOWIzOWVmODg5OGI3ZGU5NTBlZjc0ZjAzNDdlNTIxMWEy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuY3BwCkBAIC0zMiw5ICszMiw5IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50
OjpBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBjb25zdCBQYXltZW50JiBwYXltZW50KQorQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50
OjpBcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCBQYXltZW50JiBwYXltZW50KQogICAgIDogRXZlbnQo
dHlwZSwgZmFsc2UsIGZhbHNlKQotICAgICwgbV9wYXltZW50KHBheW1lbnQudG9BcHBsZVBheVBh
eW1lbnQoKSkKKyAgICAsIG1fcGF5bWVudChwYXltZW50LnRvQXBwbGVQYXlQYXltZW50KHZlcnNp
b24pKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9hcHBsZXBheS9BcHBsZVBheVBheW1lbnRBdXRob3JpemVkRXZlbnQuaAppbmRleCBkMDdhMjQx
NjAwMWZkMDE0NWM4MTk2MzIwODhhYzJmMDRlNThlMzI3Li4yYmMwMzJkY2E1OTAxNTI0NTIwY2E5
NDM5NjU3MDY3MDgyZjdhYjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Fw
cGxlcGF5L0FwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmgKQEAg
LTM2LDkgKzM2LDkgQEAgY2xhc3MgUGF5bWVudDsKIAogY2xhc3MgQXBwbGVQYXlQYXltZW50QXV0
aG9yaXplZEV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMg
UmVmPEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgY29uc3QgUGF5bWVudCYgcGF5bWVudCkKKyAgICBzdGF0aWMgUmVmPEFwcGxl
UGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgUGF5bWVudCYgcGF5bWVudCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5UGF5bWVudEF1dGhvcml6ZWRFdmVudCh0
eXBlLCBwYXltZW50KSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFwcGxlUGF5UGF5
bWVudEF1dGhvcml6ZWRFdmVudCh0eXBlLCB2ZXJzaW9uLCBwYXltZW50KSk7CiAgICAgfQogCiAg
ICAgdmlydHVhbCB+QXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50KCk7CkBAIC00Niw3ICs0
Niw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBBcHBsZVBheVBheW1lbnQmIHBheW1lbnQoKSBjb25z
dCB7IHJldHVybiBtX3BheW1lbnQ7IH0KIAogcHJpdmF0ZToKLSAgICBBcHBsZVBheVBheW1lbnRB
dXRob3JpemVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Jik7
CisgICAgQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgdW5zaWduZWQgdmVyc2lvbiwgY29uc3QgUGF5bWVudCYpOwogCiAgICAgLy8gRXZlbnQu
CiAgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmNw
cAppbmRleCA2MTE1ZjNlNjcxOGY5NWFkN2I0NzQ0MjlhNGEzYjU1YTRhODMyZTM1Li4yOWMwNmI0
ZjkyMDIwMGVlNzQ1N2RiODEwOTc2OTk0YTIxYjNkMTY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2Vzc2lvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uY3BwCkBAIC00MTcsMTMgKzQx
NywxNSBAQCBFeGNlcHRpb25PcjxSZWY8QXBwbGVQYXlTZXNzaW9uPj4gQXBwbGVQYXlTZXNzaW9u
OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCB1bgogICAgIGlmIChjb252ZXJ0ZWRQYXltZW50
UmVxdWVzdC5oYXNFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJuIGNvbnZlcnRlZFBheW1lbnRS
ZXF1ZXN0LnJlbGVhc2VFeGNlcHRpb24oKTsKIAotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFw
cGxlUGF5U2Vzc2lvbihkb2N1bWVudCwgY29udmVydGVkUGF5bWVudFJlcXVlc3QucmVsZWFzZVJl
dHVyblZhbHVlKCkpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBcHBsZVBheVNlc3Npb24o
ZG9jdW1lbnQsIHZlcnNpb24sIGNvbnZlcnRlZFBheW1lbnRSZXF1ZXN0LnJlbGVhc2VSZXR1cm5W
YWx1ZSgpKSk7CiB9CiAKLUFwcGxlUGF5U2Vzc2lvbjo6QXBwbGVQYXlTZXNzaW9uKERvY3VtZW50
JiBkb2N1bWVudCwgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVlc3QmJiBwYXltZW50UmVxdWVz
dCkKLSAgICA6IEFjdGl2ZURPTU9iamVjdCgmZG9jdW1lbnQpCi0gICAgLCBtX3BheW1lbnRSZXF1
ZXN0KFdURk1vdmUocGF5bWVudFJlcXVlc3QpKQorQXBwbGVQYXlTZXNzaW9uOjpBcHBsZVBheVNl
c3Npb24oRG9jdW1lbnQmIGRvY3VtZW50LCB1bnNpZ25lZCB2ZXJzaW9uLCBBcHBsZVBheVNlc3Np
b25QYXltZW50UmVxdWVzdCYmIHBheW1lbnRSZXF1ZXN0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0
IHsgJmRvY3VtZW50IH0KKyAgICAsIG1fcGF5bWVudFJlcXVlc3QgeyBXVEZNb3ZlKHBheW1lbnRS
ZXF1ZXN0KSB9CisgICAgLCBtX3ZlcnNpb24geyB2ZXJzaW9uIH0KIHsKKyAgICBBU1NFUlQoZG9j
dW1lbnQuZnJhbWUoKS0+bWFpbkZyYW1lKCkucGF5bWVudENvb3JkaW5hdG9yKCkuc3VwcG9ydHNW
ZXJzaW9uKHZlcnNpb24pKTsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKIH0KIApAQCAtNzM1LDYg
KzczNywxMSBAQCBFeGNlcHRpb25Pcjx2b2lkPiBBcHBsZVBheVNlc3Npb246OmNvbXBsZXRlUGF5
bWVudCh1bnNpZ25lZCBzaG9ydCBzdGF0dXMpCiAgICAgcmV0dXJuIGNvbXBsZXRlUGF5bWVudChX
VEZNb3ZlKHJlc3VsdCkpOwogfQogCit1bnNpZ25lZCBBcHBsZVBheVNlc3Npb246OnZlcnNpb24o
KSBjb25zdAoreworICAgIHJldHVybiBtX3ZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlTZXNz
aW9uOjp2YWxpZGF0ZU1lcmNoYW50KGNvbnN0IFVSTCYgdmFsaWRhdGlvblVSTCkKIHsKICAgICBp
ZiAobV9zdGF0ZSA9PSBTdGF0ZTo6QWJvcnRlZCkgewpAQCAtNzYzLDcgKzc3MCw3IEBAIHZvaWQg
QXBwbGVQYXlTZXNzaW9uOjpkaWRBdXRob3JpemVQYXltZW50KGNvbnN0IFBheW1lbnQmIHBheW1l
bnQpCiAKICAgICBtX3N0YXRlID0gU3RhdGU6OkF1dGhvcml6ZWQ7CiAKLSAgICBhdXRvIGV2ZW50
ID0gQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnBh
eW1lbnRhdXRob3JpemVkRXZlbnQsIHBheW1lbnQpOworICAgIGF1dG8gZXZlbnQgPSBBcHBsZVBh
eVBheW1lbnRBdXRob3JpemVkRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkucGF5bWVudGF1dGhv
cml6ZWRFdmVudCwgdmVyc2lvbigpLCBwYXltZW50KTsKICAgICBkaXNwYXRjaEV2ZW50KGV2ZW50
LmdldCgpKTsKIH0KIApAQCAtNzkxLDcgKzc5OCw3IEBAIHZvaWQgQXBwbGVQYXlTZXNzaW9uOjpk
aWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3QgUGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29u
CiAgICAgfQogCiAgICAgbV9zdGF0ZSA9IFN0YXRlOjpTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZDsK
LSAgICBhdXRvIGV2ZW50ID0gQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnNoaXBwaW5nY29udGFjdHNlbGVjdGVkRXZlbnQsIHNoaXBwaW5n
Q29udGFjdCk7CisgICAgYXV0byBldmVudCA9IEFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0
ZWRFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5zaGlwcGluZ2NvbnRhY3RzZWxlY3RlZEV2ZW50
LCB2ZXJzaW9uKCksIHNoaXBwaW5nQ29udGFjdCk7CiAgICAgZGlzcGF0Y2hFdmVudChldmVudC5n
ZXQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2Vzc2lvbi5oCmluZGV4IGVlZjI5ZTMzNzU5ZDhiOTIxZWFjZTgxYWMxZDg1YjAxNzdmNjRk
MjUuLjcwNjEyNzYwYjExMGZhMTQ1ZDg5ODI4MmU2MzAwN2NkNzgwNTU3NzEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTZXNzaW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNlc3Npb24uaApAQCAtOTcs
NyArOTcsNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgUGF5bWVudFNlc3Npb246OmRlcmVmOwogCiBw
cml2YXRlOgotICAgIEFwcGxlUGF5U2Vzc2lvbihEb2N1bWVudCYsIEFwcGxlUGF5U2Vzc2lvblBh
eW1lbnRSZXF1ZXN0JiYpOworICAgIEFwcGxlUGF5U2Vzc2lvbihEb2N1bWVudCYsIHVuc2lnbmVk
IHZlcnNpb24sIEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0JiYpOwogCiAgICAgLy8gQWN0
aXZlRE9NT2JqZWN0LgogICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25z
dCBvdmVycmlkZTsKQEAgLTExMSw2ICsxMTEsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGVyZWZF
dmVudFRhcmdldCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQogCiAgICAgLy8gUGF5bWVudFNlc3Np
b24KKyAgICB1bnNpZ25lZCB2ZXJzaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCB2YWxp
ZGF0ZU1lcmNoYW50KGNvbnN0IFVSTCYpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkQXV0aG9yaXpl
UGF5bWVudChjb25zdCBQYXltZW50Jikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTZWxlY3RTaGlw
cGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdDo6U2hpcHBpbmdN
ZXRob2QmKSBvdmVycmlkZTsKQEAgLTE1NCw2ICsxNTUsNyBAQCBwcml2YXRlOgogICAgIH0gbV9t
ZXJjaGFudFZhbGlkYXRpb25TdGF0ZSB7IE1lcmNoYW50VmFsaWRhdGlvblN0YXRlOjpJZGxlIH07
CiAKICAgICBjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW50UmVxdWVzdCBtX3BheW1lbnRSZXF1
ZXN0OworICAgIHVuc2lnbmVkIG1fdmVyc2lvbjsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3Rl
ZEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlw
cGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmNwcAppbmRleCAxMzJhNzVjYjI2NmRjZjg1MDczNDg0
ZDIxZDM1NjYwYzk0NGExYjY0Li4wYmUxNjU5MTcxZDU1NGZhMzgxNzM0ZmUxNTdlM2I4ZGFiYTM2
NmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5
U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuY3BwCkBA
IC0zMiw5ICszMiw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBp
bmdDb250YWN0KQorQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50OjpBcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCB1
bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQog
ICAgIDogRXZlbnQodHlwZSwgZmFsc2UsIGZhbHNlKQotICAgICwgbV9zaGlwcGluZ0NvbnRhY3Qo
c2hpcHBpbmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgpKQorICAgICwgbV9zaGlw
cGluZ0NvbnRhY3Qoc2hpcHBpbmdDb250YWN0LnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCh2ZXJz
aW9uKSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmgK
aW5kZXggMmU3ZTZmN2VmNWE3ZDBmZDA5OGZiMmU4ZGNiYTdjMWVhNmMwNTU0MC4uMjUzZWZkOTkz
NGQxNTRhZjliZGMzNDliZDExYzVhMTFmYjMzZTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdD
b250YWN0U2VsZWN0ZWRFdmVudC5oCkBAIC0zNiw5ICszNiw5IEBAIGNsYXNzIFBheW1lbnRDb250
YWN0OwogCiBjbGFzcyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQgZmluYWwg
OiBwdWJsaWMgRXZlbnQgewogcHVibGljOgotICAgIHN0YXRpYyBSZWY8QXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBpbmdDb250YWN0KQorICAgIHN0YXRpYyBSZWY8QXBw
bGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3Ry
aW5nJiB0eXBlLCB1bnNpZ25lZCB2ZXJzaW9uLCBjb25zdCBQYXltZW50Q29udGFjdCYgc2hpcHBp
bmdDb250YWN0KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQXBwbGVQYXlT
aGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50KHR5cGUsIHNoaXBwaW5nQ29udGFjdCkpOworICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBBcHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVk
RXZlbnQodHlwZSwgdmVyc2lvbiwgc2hpcHBpbmdDb250YWN0KSk7CiAgICAgfQogCiAgICAgdmly
dHVhbCB+QXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50KCk7CkBAIC00Niw3ICs0
Niw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBBcHBsZVBheVBheW1lbnRDb250YWN0JiBzaGlwcGlu
Z0NvbnRhY3QoKSBjb25zdCB7IHJldHVybiBtX3NoaXBwaW5nQ29udGFjdDsgfQogCiBwcml2YXRl
OgotICAgIEFwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGNvbnN0IFBheW1lbnRDb250YWN0Jik7CisgICAgQXBwbGVQYXlTaGlwcGlu
Z0NvbnRhY3RTZWxlY3RlZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgdW5zaWduZWQg
dmVyc2lvbiwgY29uc3QgUGF5bWVudENvbnRhY3QmKTsKIAogICAgIC8vIEV2ZW50LgogICAgIEV2
ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCmluZGV4IGM5MDU0ZDczZmQzMTAxNTg2YzE5
YzQwYzg3NzY1MmM0ODI0YTkxNDQuLjg1ZjY3YmVkZjJlZDdlMGU0ODBjNDVjYTFmN2I2ZWRlN2Fl
NjliMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudC5oCkBAIC00
Niw3ICs0Niw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgflBheW1lbnQoKSA9IGRlZmF1bHQ7
CiAKLSAgICB2aXJ0dWFsIEFwcGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0
OworICAgIHZpcnR1YWwgQXBwbGVQYXlQYXltZW50IHRvQXBwbGVQYXlQYXltZW50KHVuc2lnbmVk
IHZlcnNpb24pIGNvbnN0OwogCiAgICAgUEtQYXltZW50ICpwa1BheW1lbnQoKSBjb25zdCB7IHJl
dHVybiBtX3BrUGF5bWVudC5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2FwcGxlcGF5L1BheW1lbnRDb250YWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2FwcGxlcGF5L1BheW1lbnRDb250YWN0LmgKaW5kZXggZWMwMTBhY2Y5N2ZjMmQ3YWYzZmQ1OWQ1
OWVlNTNmZTgwY2NkYTkwYy4uZDA0MTJkMWRlZGE2MWI3YmY0YzVkNjkyN2FiMDY4MTliOTYyZDMy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29u
dGFjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvbnRh
Y3QuaApAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+UGF5bWVudENvbnRh
Y3QoKSA9IGRlZmF1bHQ7CiAKICAgICBzdGF0aWMgUGF5bWVudENvbnRhY3QgZnJvbUFwcGxlUGF5
UGF5bWVudENvbnRhY3QodW5zaWduZWQgdmVyc2lvbiwgY29uc3QgQXBwbGVQYXlQYXltZW50Q29u
dGFjdCYpOwotICAgIHZpcnR1YWwgQXBwbGVQYXlQYXltZW50Q29udGFjdCB0b0FwcGxlUGF5UGF5
bWVudENvbnRhY3QoKSBjb25zdDsKKyAgICB2aXJ0dWFsIEFwcGxlUGF5UGF5bWVudENvbnRhY3Qg
dG9BcHBsZVBheVBheW1lbnRDb250YWN0KHVuc2lnbmVkIHZlcnNpb24pIGNvbnN0OwogCiAgICAg
UEtDb250YWN0ICpwa0NvbnRhY3QoKSBjb25zdCB7IHJldHVybiBtX3BrQ29udGFjdC5nZXQoKTsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b29yZGluYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRD
b29yZGluYXRvci5jcHAKaW5kZXggYTJjOWQwMzM0YjkyNjg0NTk1MjVlZTkyNzljNzQzNjg2YmFi
MTA0ZC4uODExMWNmNWZiZGJkMzA2MDVjMDI2ZGUzZjQ2NTY3ZGE0OWM0YWFmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9y
LmNwcApAQCAtNDUsNyArNDUsNyBAQCBQYXltZW50Q29vcmRpbmF0b3I6On5QYXltZW50Q29vcmRp
bmF0b3IoKQogICAgIG1fY2xpZW50LnBheW1lbnRDb29yZGluYXRvckRlc3Ryb3llZCgpOwogfQog
Ci1ib29sIFBheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZlcnNp
b24pCitib29sIFBheW1lbnRDb29yZGluYXRvcjo6c3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVkIHZl
cnNpb24pIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fY2xpZW50LnN1cHBvcnRzVmVyc2lvbih2ZXJz
aW9uKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5
bWVudENvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1l
bnRDb29yZGluYXRvci5oCmluZGV4IDgwNjc3NDg1M2Y0M2RlNWQzNzZlYzBjNTA4YzMzYmU5ZTky
ZWZiNmIuLmFmODc3OWIxZDI3YzQ2NWU3YmUxOTNjZjUzMGIxNjgyZDE4ZjJhNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvUGF5bWVudENvb3JkaW5hdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9QYXltZW50Q29vcmRpbmF0b3Iu
aApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgZXhwbGljaXQg
UGF5bWVudENvb3JkaW5hdG9yKFBheW1lbnRDb29yZGluYXRvckNsaWVudCYpOwogICAgIFdFQkNP
UkVfRVhQT1JUIH5QYXltZW50Q29vcmRpbmF0b3IoKTsKIAotICAgIGJvb2wgc3VwcG9ydHNWZXJz
aW9uKHVuc2lnbmVkIHZlcnNpb24pOworICAgIGJvb2wgc3VwcG9ydHNWZXJzaW9uKHVuc2lnbmVk
IHZlcnNpb24pIGNvbnN0OwogICAgIGJvb2wgY2FuTWFrZVBheW1lbnRzKCk7CiAgICAgdm9pZCBj
YW5NYWtlUGF5bWVudHNXaXRoQWN0aXZlQ2FyZChjb25zdCBTdHJpbmcmIG1lcmNoYW50SWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiBkb21haW5OYW1lLCBXVEY6OkZ1bmN0aW9uPHZvaWQgKGJvb2wp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKTsKICAgICB2b2lkIG9wZW5QYXltZW50U2V0dXAoY29uc3Qg
U3RyaW5nJiBtZXJjaGFudElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZG9tYWluTmFtZSwgV1RG
OjpGdW5jdGlvbjx2b2lkIChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L1BheW1lbnRTZXNzaW9uLmgKaW5kZXggNGIzOTc3
NTQwMGFkZTc3YzUzODVkMTY1YTQwNTQyNDU1ZDAyOTVhOC4uMzcwOTA0MTljNWYxOWY5ZThkMTU0
ZmRkMzkxZGMwYTcwODE4MWJhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9h
cHBsZXBheS9QYXltZW50U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBw
bGVwYXkvUGF5bWVudFNlc3Npb24uaApAQCAtNDMsNiArNDMsNyBAQCBjbGFzcyBQYXltZW50U2Vz
c2lvbiA6IHB1YmxpYyB2aXJ0dWFsIFBheW1lbnRTZXNzaW9uQmFzZSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIEV4Y2VwdGlvbk9yPHZvaWQ+IGNhbkNyZWF0ZVNlc3Npb24oRG9jdW1lbnQmKTsKIAor
ICAgIHZpcnR1YWwgdW5zaWduZWQgdmVyc2lvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
ZEF1dGhvcml6ZVBheW1lbnQoY29uc3QgUGF5bWVudCYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9uUGF5bWVudFJlcXVl
c3Q6OlNoaXBwaW5nTWV0aG9kJikgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb2NvYS5tbQppbmRleCA5OTM4N2I5YzA4MjFlYjIw
NGZlMWI3ZWZkZmNkMWIzNjk5N2ViMDU2Li4wYjI5ZDc0N2UyNDA3YzM1OWZkY2IxNGIzYjc4YzVh
ZDYxZDJkODg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2Nv
Y29hL1BheW1lbnRDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5
L2NvY29hL1BheW1lbnRDb2NvYS5tbQpAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgQXBwbGVQYXlQ
YXltZW50OjpUb2tlbiBjb252ZXJ0KFBLUGF5bWVudFRva2VuICpwYXltZW50VG9rZW4pCiAgICAg
cmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5
bWVudCAqcGF5bWVudCkKK3N0YXRpYyBBcHBsZVBheVBheW1lbnQgY29udmVydCh1bnNpZ25lZCB2
ZXJzaW9uLCBQS1BheW1lbnQgKnBheW1lbnQpCiB7CiAgICAgQVNTRVJUKHBheW1lbnQpOwogCkBA
IC02MCwxNiArNjAsMTYgQEAgc3RhdGljIEFwcGxlUGF5UGF5bWVudCBjb252ZXJ0KFBLUGF5bWVu
dCAqcGF5bWVudCkKICAgICByZXN1bHQudG9rZW4gPSBjb252ZXJ0KHBheW1lbnQudG9rZW4pOwog
CiAgICAgaWYgKHBheW1lbnQuYmlsbGluZ0NvbnRhY3QpCi0gICAgICAgIHJlc3VsdC5iaWxsaW5n
Q29udGFjdCA9IFBheW1lbnRDb250YWN0KHBheW1lbnQuYmlsbGluZ0NvbnRhY3QpLnRvQXBwbGVQ
YXlQYXltZW50Q29udGFjdCgpOworICAgICAgICByZXN1bHQuYmlsbGluZ0NvbnRhY3QgPSBQYXlt
ZW50Q29udGFjdChwYXltZW50LmJpbGxpbmdDb250YWN0KS50b0FwcGxlUGF5UGF5bWVudENvbnRh
Y3QodmVyc2lvbik7CiAgICAgaWYgKHBheW1lbnQuc2hpcHBpbmdDb250YWN0KQotICAgICAgICBy
ZXN1bHQuc2hpcHBpbmdDb250YWN0ID0gUGF5bWVudENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0Nv
bnRhY3QpLnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCgpOworICAgICAgICByZXN1bHQuc2hpcHBp
bmdDb250YWN0ID0gUGF5bWVudENvbnRhY3QocGF5bWVudC5zaGlwcGluZ0NvbnRhY3QpLnRvQXBw
bGVQYXlQYXltZW50Q29udGFjdCh2ZXJzaW9uKTsKIAogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
LUFwcGxlUGF5UGF5bWVudCBQYXltZW50Ojp0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0CitBcHBs
ZVBheVBheW1lbnQgUGF5bWVudDo6dG9BcHBsZVBheVBheW1lbnQodW5zaWduZWQgdmVyc2lvbikg
Y29uc3QKIHsKLSAgICByZXR1cm4gY29udmVydChtX3BrUGF5bWVudC5nZXQoKSk7CisgICAgcmV0
dXJuIGNvbnZlcnQodmVyc2lvbiwgbV9wa1BheW1lbnQuZ2V0KCkpOwogfQogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRDb250YWN0
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L2NvY29hL1BheW1lbnRD
b250YWN0Q29jb2EubW0KaW5kZXggMGQ4MjI0OTAzMjA5MTI3NTIwNDc3MWI5YzI1ZWMxNTcwZGZi
MzRiMC4uMDhlZGZlY2ZjN2RjZGRkZjE0ZjBkNDZmMDRhNTRlMzQ1MGQyOTY4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9jb2NvYS9QYXltZW50Q29udGFjdENv
Y29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvY29jb2EvUGF5bWVu
dENvbnRhY3RDb2NvYS5tbQpAQCAtMTc3LDcgKzE3Nyw3IEBAIHN0YXRpYyBSZXRhaW5QdHI8UEtD
b250YWN0PiBjb252ZXJ0KHVuc2lnbmVkIHZlcnNpb24sIGNvbnN0IEFwcGxlUGF5UGF5bWVudENv
bnRhCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAotc3RhdGljIEFwcGxlUGF5UGF5bWVudENvbnRh
Y3QgY29udmVydChQS0NvbnRhY3QgKmNvbnRhY3QpCitzdGF0aWMgQXBwbGVQYXlQYXltZW50Q29u
dGFjdCBjb252ZXJ0KHVuc2lnbmVkIHZlcnNpb24sIFBLQ29udGFjdCAqY29udGFjdCkKIHsKICAg
ICBBU1NFUlQoY29udGFjdCk7CiAKQEAgLTE5MSwxMCArMTkxLDEyIEBAIHN0YXRpYyBBcHBsZVBh
eVBheW1lbnRDb250YWN0IGNvbnZlcnQoUEtDb250YWN0ICpjb250YWN0KQogICAgIHJlc3VsdC5m
YW1pbHlOYW1lID0gbmFtZS5mYW1pbHlOYW1lOwogICAgIHJlc3VsdC5sb2NhbGl6ZWROYW1lID0g
W05TUGVyc29uTmFtZUNvbXBvbmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5nRnJvbVBlcnNv
bk5hbWVDb21wb25lbnRzOm5hbWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRl
clN0eWxlRGVmYXVsdCBvcHRpb25zOjBdOwogCi0gICAgTlNQZXJzb25OYW1lQ29tcG9uZW50cyAq
cGhvbmV0aWNOYW1lID0gbmFtZS5waG9uZXRpY1JlcHJlc2VudGF0aW9uOwotICAgIHJlc3VsdC5w
aG9uZXRpY0dpdmVuTmFtZSA9IHBob25ldGljTmFtZS5naXZlbk5hbWU7Ci0gICAgcmVzdWx0LnBo
b25ldGljRmFtaWx5TmFtZSA9IHBob25ldGljTmFtZS5mYW1pbHlOYW1lOwotICAgIHJlc3VsdC5s
b2NhbGl6ZWRQaG9uZXRpY05hbWUgPSBbTlNQZXJzb25OYW1lQ29tcG9uZW50c0Zvcm1hdHRlciBs
b2NhbGl6ZWRTdHJpbmdGcm9tUGVyc29uTmFtZUNvbXBvbmVudHM6bmFtZSBzdHlsZTpOU1BlcnNv
bk5hbWVDb21wb25lbnRzRm9ybWF0dGVyU3R5bGVEZWZhdWx0IG9wdGlvbnM6TlNQZXJzb25OYW1l
Q29tcG9uZW50c0Zvcm1hdHRlclBob25ldGljXTsKKyAgICBpZiAodmVyc2lvbiA+PSAzKSB7Cisg
ICAgICAgIE5TUGVyc29uTmFtZUNvbXBvbmVudHMgKnBob25ldGljTmFtZSA9IG5hbWUucGhvbmV0
aWNSZXByZXNlbnRhdGlvbjsKKyAgICAgICAgcmVzdWx0LnBob25ldGljR2l2ZW5OYW1lID0gcGhv
bmV0aWNOYW1lLmdpdmVuTmFtZTsKKyAgICAgICAgcmVzdWx0LnBob25ldGljRmFtaWx5TmFtZSA9
IHBob25ldGljTmFtZS5mYW1pbHlOYW1lOworICAgICAgICByZXN1bHQubG9jYWxpemVkUGhvbmV0
aWNOYW1lID0gW05TUGVyc29uTmFtZUNvbXBvbmVudHNGb3JtYXR0ZXIgbG9jYWxpemVkU3RyaW5n
RnJvbVBlcnNvbk5hbWVDb21wb25lbnRzOm5hbWUgc3R5bGU6TlNQZXJzb25OYW1lQ29tcG9uZW50
c0Zvcm1hdHRlclN0eWxlRGVmYXVsdCBvcHRpb25zOk5TUGVyc29uTmFtZUNvbXBvbmVudHNGb3Jt
YXR0ZXJQaG9uZXRpY107CisgICAgfQogCiAgICAgQ05Qb3N0YWxBZGRyZXNzICpwb3N0YWxBZGRy
ZXNzID0gY29udGFjdC5wb3N0YWxBZGRyZXNzOwogICAgIGlmIChwb3N0YWxBZGRyZXNzLnN0cmVl
dC5sZW5ndGgpIHsKQEAgLTIxOCw5ICsyMjAsOSBAQCBQYXltZW50Q29udGFjdCBQYXltZW50Q29u
dGFjdDo6ZnJvbUFwcGxlUGF5UGF5bWVudENvbnRhY3QodW5zaWduZWQgdmVyc2lvbiwgY29ucwog
ICAgIHJldHVybiBQYXltZW50Q29udGFjdChjb252ZXJ0KHZlcnNpb24sIGNvbnRhY3QpLmdldCgp
KTsKIH0KIAotQXBwbGVQYXlQYXltZW50Q29udGFjdCBQYXltZW50Q29udGFjdDo6dG9BcHBsZVBh
eVBheW1lbnRDb250YWN0KCkgY29uc3QKK0FwcGxlUGF5UGF5bWVudENvbnRhY3QgUGF5bWVudENv
bnRhY3Q6OnRvQXBwbGVQYXlQYXltZW50Q29udGFjdCh1bnNpZ25lZCB2ZXJzaW9uKSBjb25zdAog
ewotICAgIHJldHVybiBjb252ZXJ0KG1fcGtDb250YWN0LmdldCgpKTsKKyAgICByZXR1cm4gY29u
dmVydCh2ZXJzaW9uLCBtX3BrQ29udGFjdC5nZXQoKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlQYXlt
ZW50SGFuZGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRy
ZXF1ZXN0L0FwcGxlUGF5UGF5bWVudEhhbmRsZXIuY3BwCmluZGV4IDI5MjUwOGM5OTFhMzgxNDc1
Njg3YmMzOGFkOTQxNmQzZWQxYWRhOWUuLjBmYjgxNTVmMTAwODEwNGZmZDA2ZWRiOGMyNjI2MDZm
NzAzNjk4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5
bWVudHJlcXVlc3QvQXBwbGVQYXlQYXltZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVy
LmNwcApAQCAtNzksMTIgKzc5LDEyIEBAIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OkFwcGxlUGF5
UGF5bWVudEhhbmRsZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBjb25zdCBQYXltZW50CiAgICAgQVNT
RVJUKGhhbmRsZXNJZGVudGlmaWVyKG1faWRlbnRpZmllcikpOwogfQogCi1Eb2N1bWVudCYgQXBw
bGVQYXlQYXltZW50SGFuZGxlcjo6ZG9jdW1lbnQoKQorRG9jdW1lbnQmIEFwcGxlUGF5UGF5bWVu
dEhhbmRsZXI6OmRvY3VtZW50KCkgY29uc3QKIHsKICAgICByZXR1cm4gZG93bmNhc3Q8RG9jdW1l
bnQ+KCpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOwogfQogCi1QYXltZW50Q29vcmRpbmF0b3Im
IEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpCitQYXltZW50Q29v
cmRpbmF0b3ImIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OnBheW1lbnRDb29yZGluYXRvcigpIGNv
bnN0CiB7CiAgICAgcmV0dXJuIFdlYkNvcmU6OnBheW1lbnRDb29yZGluYXRvcihkb2N1bWVudCgp
KTsKIH0KQEAgLTM4NSw2ICszODUsMTYgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpj
b21wbGV0ZShzdGQ6Om9wdGlvbmFsPFBheW1lbnRDb21wbGV0ZT4mJiByZXN1bHQpCiAgICAgcGF5
bWVudENvb3JkaW5hdG9yKCkuY29tcGxldGVQYXltZW50U2Vzc2lvbihXVEZNb3ZlKGF1dGhvcml6
YXRpb25SZXN1bHQpKTsKIH0KIAordW5zaWduZWQgQXBwbGVQYXlQYXltZW50SGFuZGxlcjo6dmVy
c2lvbigpIGNvbnN0Cit7CisgICAgaWYgKCFtX2FwcGxlUGF5UmVxdWVzdCkKKyAgICAgICAgcmV0
dXJuIDA7CisgICAgCisgICAgYXV0byB2ZXJzaW9uID0gbV9hcHBsZVBheVJlcXVlc3QtPnZlcnNp
b247CisgICAgQVNTRVJUKHBheW1lbnRDb29yZGluYXRvcigpLnN1cHBvcnRzVmVyc2lvbih2ZXJz
aW9uKSk7CisgICAgcmV0dXJuIHZlcnNpb247Cit9CisKIHZvaWQgQXBwbGVQYXlQYXltZW50SGFu
ZGxlcjo6dmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmIHZhbGlkYXRpb25VUkwpCiB7CiAgICAg
aWYgKHZhbGlkYXRpb25VUkwuaXNWYWxpZCgpKQpAQCAtMzk4LDcgKzQwOCw3IEBAIHN0YXRpYyBS
ZWY8UGF5bWVudEFkZHJlc3M+IGNvbnZlcnQoY29uc3QgQXBwbGVQYXlQYXltZW50Q29udGFjdCYg
Y29udGFjdCkKIAogdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRBdXRob3JpemVQYXlt
ZW50KGNvbnN0IFBheW1lbnQmIHBheW1lbnQpCiB7Ci0gICAgYXV0byBhcHBsZVBheVBheW1lbnQg
PSBwYXltZW50LnRvQXBwbGVQYXlQYXltZW50KCk7CisgICAgYXV0byBhcHBsZVBheVBheW1lbnQg
PSBwYXltZW50LnRvQXBwbGVQYXlQYXltZW50KHZlcnNpb24oKSk7CiAgICAgYXV0byYgZXhlY1N0
YXRlID0gKmRvY3VtZW50KCkuZXhlY1N0YXRlKCk7CiAgICAgYXV0byBsb2NrID0gSlNDOjpKU0xv
Y2tIb2xkZXIgeyAmZXhlY1N0YXRlIH07CiAgICAgYXV0byBkZXRhaWxzID0gSlNDOjpTdHJvbmc8
SlNDOjpKU09iamVjdD4geyBleGVjU3RhdGUudm0oKSwgYXNPYmplY3QodG9KUzxJRExEaWN0aW9u
YXJ5PEFwcGxlUGF5UGF5bWVudD4+KGV4ZWNTdGF0ZSwgKkpTQzo6anNDYXN0PEpTRE9NR2xvYmFs
T2JqZWN0Kj4oZXhlY1N0YXRlLmxleGljYWxHbG9iYWxPYmplY3QoKSksIGFwcGxlUGF5UGF5bWVu
dCkpIH07CkBAIC00MTMsNyArNDIzLDcgQEAgdm9pZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpk
aWRTZWxlY3RTaGlwcGluZ01ldGhvZChjb25zdCBBcHBsZVBheVNlc3Npb25QYXltZW4KIAogdm9p
ZCBBcHBsZVBheVBheW1lbnRIYW5kbGVyOjpkaWRTZWxlY3RTaGlwcGluZ0NvbnRhY3QoY29uc3Qg
UGF5bWVudENvbnRhY3QmIHNoaXBwaW5nQ29udGFjdCkKIHsKLSAgICBtX3BheW1lbnRSZXF1ZXN0
LT5zaGlwcGluZ0FkZHJlc3NDaGFuZ2VkKGNvbnZlcnQoc2hpcHBpbmdDb250YWN0LnRvQXBwbGVQ
YXlQYXltZW50Q29udGFjdCgpKSk7CisgICAgbV9wYXltZW50UmVxdWVzdC0+c2hpcHBpbmdBZGRy
ZXNzQ2hhbmdlZChjb252ZXJ0KHNoaXBwaW5nQ29udGFjdC50b0FwcGxlUGF5UGF5bWVudENvbnRh
Y3QodmVyc2lvbigpKSkpOwogfQogCiB2b2lkIEFwcGxlUGF5UGF5bWVudEhhbmRsZXI6OmRpZFNl
bGVjdFBheW1lbnRNZXRob2QoY29uc3QgUGF5bWVudE1ldGhvZCYgcGF5bWVudE1ldGhvZCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3Qv
QXBwbGVQYXlQYXltZW50SGFuZGxlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBh
eS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKaW5kZXggYzcyYTlkNTlh
Njc1MmJkNzBlZDJmZWJkNjk1OGY0ZGFlMDQxN2UzYy4uOWRiMjNiMjU4NDE3ZGNhYTBjMDRiNjdh
MWU4MmM1MThhYmFlYzBlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9hcHBs
ZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRIYW5kbGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9hcHBsZXBheS9wYXltZW50cmVxdWVzdC9BcHBsZVBheVBheW1lbnRI
YW5kbGVyLmgKQEAgLTQ5LDggKzQ5LDggQEAgcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUGF5
bWVudEhhbmRsZXI7CiAgICAgZXhwbGljaXQgQXBwbGVQYXlQYXltZW50SGFuZGxlcihEb2N1bWVu
dCYsIGNvbnN0IFBheW1lbnRSZXF1ZXN0OjpNZXRob2RJZGVudGlmaWVyJiwgUGF5bWVudFJlcXVl
c3QmKTsKIAotICAgIERvY3VtZW50JiBkb2N1bWVudCgpOwotICAgIFBheW1lbnRDb29yZGluYXRv
ciYgcGF5bWVudENvb3JkaW5hdG9yKCk7CisgICAgRG9jdW1lbnQmIGRvY3VtZW50KCkgY29uc3Q7
CisgICAgUGF5bWVudENvb3JkaW5hdG9yJiBwYXltZW50Q29vcmRpbmF0b3IoKSBjb25zdDsKIAog
ICAgIEV4Y2VwdGlvbk9yPEFwcGxlUGF5U2Vzc2lvblBheW1lbnRSZXF1ZXN0OjpUb3RhbEFuZExp
bmVJdGVtcz4gY29tcHV0ZVRvdGFsQW5kTGluZUl0ZW1zKCk7CiAKQEAgLTY3LDYgKzY3LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNvbXBsZXRlKHN0ZDo6b3B0aW9uYWw8UGF5bWVudENvbXBsZXRl
PiYmKSBmaW5hbDsKIAogICAgIC8vIFBheW1lbnRTZXNzaW9uCisgICAgdW5zaWduZWQgdmVyc2lv
bigpIGNvbnN0IGZpbmFsOwogICAgIHZvaWQgdmFsaWRhdGVNZXJjaGFudChjb25zdCBVUkwmKSBm
aW5hbDsKICAgICB2b2lkIGRpZEF1dGhvcml6ZVBheW1lbnQoY29uc3QgUGF5bWVudCYpIGZpbmFs
OwogICAgIHZvaWQgZGlkU2VsZWN0U2hpcHBpbmdNZXRob2QoY29uc3QgQXBwbGVQYXlTZXNzaW9u
UGF5bWVudFJlcXVlc3Q6OlNoaXBwaW5nTWV0aG9kJikgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L01vY2tQYXltZW50LmgKaW5kZXggZTk1MzlmYjJkYzZlMDlhMjNiNTk3MzI5NzM0ODM3ZTllODVm
NTdmMC4uOGMwMzI0MzQzNzY1MzZiM2Y3ZGVlOWIzN2M4YzUwYTIxYmM4YzM3ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9Nb2NrUGF5bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvTW9ja1BheW1lbnQuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAg
ewogICAgIH0KIAotICAgIEFwcGxlUGF5UGF5bWVudCB0b0FwcGxlUGF5UGF5bWVudCgpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIG1fYXBwbGVQYXlQYXltZW50OyB9CisgICAgQXBwbGVQYXlQYXltZW50
IHRvQXBwbGVQYXlQYXltZW50KHVuc2lnbmVkKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2FwcGxl
UGF5UGF5bWVudDsgfQogCiBwcml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudCBtX2FwcGxlUGF5
UGF5bWVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvTW9ja1BheW1lbnRD
b250YWN0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL01vY2tQYXltZW50Q29udGFjdC5oCmlu
ZGV4IGI1MjlkNDRiMmYzNTJhY2JjYjgyZjllYjA5NDNlZTE4NzhlZDYwNDUuLjg0YzI1N2ZkMzhk
NjU4NTY0ZTg5ZTgyMTNkYTE1ZTY5MjUwMDhkYTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvTW9ja1BheW1lbnRDb250YWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9Nb2NrUGF5bWVudENvbnRhY3QuaApAQCAtMzksNyArMzksNyBAQCBwdWJsaWM6CiAgICAgewog
ICAgIH0KIAotICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgdG9BcHBsZVBheVBheW1lbnRDb250
YWN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9hcHBsZVBheVBheW1lbnRDb250YWN0OyB9Cisg
ICAgQXBwbGVQYXlQYXltZW50Q29udGFjdCB0b0FwcGxlUGF5UGF5bWVudENvbnRhY3QodW5zaWdu
ZWQpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fYXBwbGVQYXlQYXltZW50Q29udGFjdDsgfQogCiBw
cml2YXRlOgogICAgIEFwcGxlUGF5UGF5bWVudENvbnRhY3QgbV9hcHBsZVBheVBheW1lbnRDb250
YWN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>