<?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>105369</bug_id>
          
          <creation_ts>2012-12-18 16:51:03 -0800</creation_ts>
          <short_desc>Remove unnecessary functions from CookiesStrategy</short_desc>
          <delta_ts>2012-12-18 20:24:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>794181</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-18 16:51:03 -0800</bug_when>
    <thetext>Three functions in CookieJar.h are only used from WebKit, so there is no need to pipe them through CookieJar and PlatformStrategies. Strategies are for calling WebKit from WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794186</commentid>
    <comment_count>1</comment_count>
      <attachid>180061</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-18 16:56:32 -0800</bug_when>
    <thetext>Created attachment 180061
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794194</commentid>
    <comment_count>2</comment_count>
      <attachid>180061</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-18 17:04:14 -0800</bug_when>
    <thetext>Comment on attachment 180061
proposed patch

Attachment 180061 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15418352</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794195</commentid>
    <comment_count>3</comment_count>
      <attachid>180061</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2012-12-18 17:06:16 -0800</bug_when>
    <thetext>Comment on attachment 180061
proposed patch

Attachment 180061 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/15406410</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794197</commentid>
    <comment_count>4</comment_count>
      <attachid>180063</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-18 17:07:59 -0800</bug_when>
    <thetext>Created attachment 180063
with build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794220</commentid>
    <comment_count>5</comment_count>
      <attachid>180063</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-12-18 17:52:25 -0800</bug_when>
    <thetext>Comment on attachment 180063
with build fixes

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

&gt; Source/WebCore/loader/CookieJar.h:41
&gt; +// Functions in this file take a Document pointer to determine which cookie storage to use. We should merge taht into call sites, and use PlatformCookieJar directly.
&gt; +

s/taht/that/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794305</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-12-18 20:24:41 -0800</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/138109&gt; and &lt;http://trac.webkit.org/changeset/138110&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180061</attachid>
            <date>2012-12-18 16:56:32 -0800</date>
            <delta_ts>2012-12-18 17:07:59 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>DeleteStrategyFunctions.txt</filename>
            <type>text/plain</type>
            <size>29753</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODA4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTE4ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBmdW5jdGlvbnMgZnJvbSBDb29raWVzU3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBDb29raWVKYXIgZnVuY3Rpb25zIHRoYXQg
YXJlIG9ubHkgZXZlciBjYWxsZWQgZnJvbSBXZWJLaXQuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBsb2FkZXIvQ29va2llSmFyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIv
Q29va2llSmFyLmg6CisgICAgICAgICogcGxhdGZvcm0vQ29va2llc1N0cmF0ZWd5Lmg6CisKIDIw
MTItMTItMTggIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVk
IGJhZCBtZXJnZSBpbiAiSW5pdGlhbCByZWZhY3RvcmluZyBvZiBkYXRhYmFzZSBmdW5jdGlvbmFs
aXR5IGludG8gdGhlIG1hbmFnZXIgYW5kIHNlcnZlciIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTQ4Nyw3ICs0ODcsNiBAQCBfX1pON1dlYkNvcmUxNlZpc2libGVTZWxl
Y3Rpb25DMUVSS05TXzE1CiBfX1pON1dlYkNvcmUxNmNyZWF0ZUZ1bGxNYXJrdXBFUEtOU180Tm9k
ZUUKIF9fWk43V2ViQ29yZTE2Y3JlYXRlRnVsbE1hcmt1cEVQS05TXzVSYW5nZUUKIF9fWk43V2Vi
Q29yZTE2ZGVsZXRlQWxsQ29va2llc0VQTlNfMTdOZXR3b3JraW5nQ29udGV4dEUKLV9fWk43V2Vi
Q29yZTE2ZGVsZXRlQWxsQ29va2llc0V2CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RF
UktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVW
aXNpYmxlUG9zaXRpb25FTlNfMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dl
YkNvcmUxNmlzVXNlclZpc2libGVVUkxFUDhOU1N0cmluZwpAQCAtNjUxLDcgKzY1MCw2IEBAIF9f
Wk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDUKIF9fWk43V2ViQ29yZTIzZGVj
b2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNSYW5nZQogX19aTjdXZWJDb3JlMjNl
bmNvZGVIb3N0TmFtZVdpdGhSYW5nZUVQOE5TU3RyaW5nOF9OU1JhbmdlCiBfX1pON1dlYkNvcmUy
M2dldEhvc3RuYW1lc1dpdGhDb29raWVzRVBOU18xN05ldHdvcmtpbmdDb250ZXh0RVJOM1dURjdI
YXNoU2V0SU5TMl82U3RyaW5nRU5TMl8xMFN0cmluZ0hhc2hFTlMyXzEwSGFzaFRyYWl0c0lTNF9F
RUVFCi1fX1pON1dlYkNvcmUyM2dldEhvc3RuYW1lc1dpdGhDb29raWVzRVJOM1dURjdIYXNoU2V0
SU5TMF82U3RyaW5nRU5TMF8xMFN0cmluZ0hhc2hFTlMwXzEwSGFzaFRyYWl0c0lTMl9FRUVFCiBf
X1pON1dlYkNvcmUyNEJpbmFyeVByb3BlcnR5TGlzdFdyaXRlcjE3d3JpdGVQcm9wZXJ0eUxpc3RF
dgogX19aTjdXZWJDb3JlMjRDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UxMXNldFJlc291cmNlRVBO
U18xNENhY2hlZFJlc291cmNlRQogX19aTjdXZWJDb3JlMjRDb21wb3NlZFNoYWRvd1RyZWVXYWxr
ZXIxMGZpcnN0Q2hpbGRFdgpAQCAtNjcxLDcgKzY2OSw2IEBAIF9fWk43V2ViQ29yZTI0RnJhbWVE
ZXN0cnVjdGlvbk9ic2VydmVyRDIKIF9fWk43V2ViQ29yZTI0Y3JlYXRlRnJhZ21lbnRGcm9tTWFy
a3VwRVBOU184RG9jdW1lbnRFUktOM1dURjZTdHJpbmdFUzVfTlNfMjdGcmFnbWVudFNjcmlwdGlu
Z1Blcm1pc3Npb25FCiBfX1pON1dlYkNvcmUyNGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlc0VSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lRVBOU18x
N05ldHdvcmtpbmdDb250ZXh0RVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMjRkZWxldGVD
b29raWVzRm9ySG9zdG5hbWVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyNGZpbGVTeXN0
ZW1SZXByZXNlbnRhdGlvbkVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0bm90aWZ5SGlz
dG9yeUl0ZW1DaGFuZ2VkRQogX19aTjdXZWJDb3JlMjVIaXN0b3J5UHJvcGVydHlMaXN0V3JpdGVy
MTFyZWxlYXNlRGF0YUV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmNwcAkocmV2
aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nvb2tpZUphci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwOCwzMSArMTA4LDQgQEAgdm9pZCBkZWxldGVDb29raWUoY29uc3Qg
RG9jdW1lbnQqIGRvY3VtZQogI2VuZGlmCiB9CiAKLXZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFU
RUdJRVMpCi0gICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVneSgpLT5nZXRI
b3N0bmFtZXNXaXRoQ29va2llcygwLCBob3N0bmFtZXMpOwotI2Vsc2UKLSAgICBnZXRIb3N0bmFt
ZXNXaXRoQ29va2llcygwLCBob3N0bmFtZXMpOwotI2VuZGlmCi19Ci0KLXZvaWQgZGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCi17Ci0jaWYgVVNFKFBMQVRG
T1JNX1NUUkFURUdJRVMpCi0gICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVn
eSgpLT5kZWxldGVDb29raWVzRm9ySG9zdG5hbWUoMCwgaG9zdG5hbWUpOwotI2Vsc2UKLSAgICBk
ZWxldGVDb29raWVzRm9ySG9zdG5hbWUoMCwgaG9zdG5hbWUpOwotI2VuZGlmCi19Ci0KLXZvaWQg
ZGVsZXRlQWxsQ29va2llcygpCi17Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0gICAg
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVneSgpLT5kZWxldGVBbGxDb29raWVz
KDApOwotI2Vsc2UKLSAgICBkZWxldGVBbGxDb29raWVzKDApOwotI2VuZGlmCi19Ci0KIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjEgKzM3
LDE3IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgS1VSTDsKIHN0cnVjdCBDb29raWU7CiAKKy8v
IEZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgdGFrZSBhIERvY3VtZW50IHBvaW50ZXIgdG8gZGV0ZXJt
aW5lIHdoaWNoIGNvb2tpZSBzdG9yYWdlIHRvIHVzZS4gV2Ugc2hvdWxkIG1lcmdlIHRhaHQgaW50
byBjYWxsIHNpdGVzLCBhbmQgdXNlIFBsYXRmb3JtQ29va2llSmFyIGRpcmVjdGx5LgorCiAvLyBU
aGVzZSB0d28gZnVuY3Rpb25zIGltcGxlbWVudCBkb2N1bWVudC5jb29raWUgQVBJLCB3aXRoIHNw
ZWNpYWwgcnVsZXMgZm9yIEh0dHBPbmx5IGNvb2tpZXMuCiBTdHJpbmcgY29va2llcyhjb25zdCBE
b2N1bWVudCosIGNvbnN0IEtVUkwmKTsKIHZvaWQgc2V0Q29va2llcyhEb2N1bWVudCosIGNvbnN0
IEtVUkwmLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZyk7CiAKLS8vIFRoZXNlIG1ldGhvZHMg
dXNlIGN1cnJlbnQgY29va2llIHN0b3JhZ2UsIHRodXMgdGFraW5nIHByaXZhdGUgYnJvd3Npbmcg
bW9kZSBpbnRvIGFjY291bnQuCiBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50Kik7
CiBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoY29uc3QgRG9jdW1lbnQqLCBj
b25zdCBLVVJMJik7CiBib29sIGdldFJhd0Nvb2tpZXMoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBL
VVJMJiwgVmVjdG9yPENvb2tpZT4mKTsKIHZvaWQgZGVsZXRlQ29va2llKGNvbnN0IERvY3VtZW50
KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgY29va2llTmFtZSk7CiAKLS8vIFRoZXNlIGZ1
bmN0aW9ucyBhbHdheXMgYWNjZXNzIGRlZmF1bHQgY29va2llIHN0b3JhZ2UsIG5vdCB0YWtpbmcg
cHJpdmF0ZSBicm93c2luZyBtb2RlIGludG8gYWNjb3VudC4KLXZvaWQgZ2V0SG9zdG5hbWVzV2l0
aENvb2tpZXMoSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpOwotdm9pZCBkZWxldGVDb29raWVz
Rm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci12b2lkIGRlbGV0ZUFsbENvb2tp
ZXMoKTsKLQogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Db29raWVzU3RyYXRlZ3kuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsOSArNTcsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoTmV0
d29ya2luZ0NvbnRleHQqLCBjb25zdCBLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBLVVJMJikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgS1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgS1VSTCYsIFZlY3RvcjxDb29raWU+JikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkZWxldGVDb29raWUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBL
VVJMJiwgY29uc3QgU3RyaW5nJiBjb29raWVOYW1lKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGdl
dEhvc3RuYW1lc1dpdGhDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KiwgSGFzaFNldDxTdHJpbmc+
JiBob3N0bmFtZXMpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3Ru
YW1lKE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSkgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkZWxldGVBbGxDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KikgPSAwOwog
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q29va2llc1N0cmF0ZWd5KCkgeyB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rp
b25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwOiBDYWxsIFBsYXRmb3JtQ29va2llSmFy
IGRpcmVjdGx5LgorICAgICAgICBDb29raWUgbWVzc2FnZXMgdG8gTmV0d29ya1Byb2Nlc3Mgc2hv
dWxkIG5vdCBiZSBzZW50IHRocm91Z2ggV2ViUHJvY2Vzcy4gSW4gYSBmdXR1cmUKKyAgICAgICAg
cGF0Y2gsIEknbGwgbWFrZSBXZWJDb29raWVNYW5hZ2VyUHJveHkgbWVzc2FnZSBOZXR3b3JrUHJv
Y2VzcyBpbnN0ZWFkLgorCiAyMDEyLTEyLTE4ICBJdmFuIEtyc3RpxIcgIDxpa2VAYXBwbGUuY29t
PgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjcyMDUzOT4gcGVyLXBpZCBwcml2YXRlIHRl
bXBvcmFyeSBkaXJlY3RvcmllcyBmb3Igc2FuZGJveGVkIHdlYmtpdDIgcGx1Z2lucwpJbmRleDog
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsMjMgKzIwMiw2IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRlbGUKICAgICBXZWJDb3JlOjpkZWxldGVDb29raWUobmV0d29ya2lu
Z0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCksIHVybCwgY29va2llTmFtZSk7CiB9CiAK
LXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmdldEhvc3RuYW1lc1dpdGhDb29r
aWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgVmVjdG9yPFN0cmluZz4mIGhvc3RuYW1l
cykKLXsKLSAgICBIYXNoU2V0PFN0cmluZz4gaG9zdG5hbWVzU2V0OwotICAgIFdlYkNvcmU6Omdl
dEhvc3RuYW1lc1dpdGhDb29raWVzKG5ldHdvcmtpbmdDb250ZXh0KHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQpLCBob3N0bmFtZXNTZXQpOwotICAgIFdURjo6Y29weVRvVmVjdG9yKGhvc3RuYW1lc1Nl
dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgY29u
c3QgU3RyaW5nJiBob3N0bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9z
dG5hbWUobmV0d29ya2luZ0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCksIGhvc3RuYW1l
KTsKLX0KLQotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGVsZXRlQWxsQ29v
a2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRl
QWxsQ29va2llcyhuZXR3b3JraW5nQ29udGV4dChwcml2YXRlQnJvd3NpbmdFbmFibGVkKSk7Ci19
Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMTM4MDgwKQor
KysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOSArOTMsNiBAQCBwcml2YXRlOgogICAgIHZv
aWQgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFi
bGVkLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJM
JiwgU3RyaW5nJiByZXN1bHQpOwogICAgIHZvaWQgZ2V0UmF3Q29va2llcyhib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdl
YkNvcmU6OktVUkwmLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpOwogICAgIHZvaWQgZGVsZXRl
Q29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgY29uc3QgV2ViQ29yZTo6S1VSTCYs
IGNvbnN0IFN0cmluZyYgY29va2llTmFtZSk7Ci0gICAgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29v
a2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFZlY3RvcjxTdHJpbmc+JiBob3N0bmFt
ZXMpOwotICAgIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGJvb2wgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci0gICAgdm9pZCBkZWxldGVBbGxD
b29raWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7CiAKICAgICBSZWZQdHI8Q29yZUlQ
Qzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw2IEBAIG1lc3NhZ2VzIC0+IE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXMKICAgICBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRW
YWx1ZShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OktVUkwgZmlyc3RQYXJ0
eSwgV2ViQ29yZTo6S1VSTCB1cmwpIC0+IChXVEY6OlN0cmluZyByZXN1bHQpCiAgICAgR2V0UmF3
Q29va2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OktVUkwgZmlyc3RQ
YXJ0eSwgV2ViQ29yZTo6S1VSTCB1cmwpIC0+IChXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb29raWU+
IGNvb2tpZXMpCiAgICAgRGVsZXRlQ29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwg
V2ViQ29yZTo6S1VSTCB1cmwsIFdURjo6U3RyaW5nIGNvb2tpZU5hbWUpCi0gICAgR2V0SG9zdG5h
bWVzV2l0aENvb2tpZXMoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKSAtPiAoV1RGOjpWZWN0
b3I8V1RGOjpTdHJpbmc+IGhvc3RuYW1lcykKLSAgICBEZWxldGVDb29raWVzRm9ySG9zdG5hbWUo
Ym9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXVEY6OlN0cmluZyBob3N0bmFtZSkKLSAgICBE
ZWxldGVBbGxDb29raWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
MzgwODApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDggKzI5LDggQEAKICNpbmNsdWRlICJNZXNz
YWdlSUQuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZUphci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ29va2llU3RvcmFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1Db29raWVKYXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDQ1ICsxOTksNiBAQCB2b2lkIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6ZGVsZXRlQ29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRl
eHQsIHVybCwgY29va2llTmFtZSk7CiB9CiAKLXZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpn
ZXRIb3N0bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNl
dDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSAg
ICBpZiAoV2ViUHJvY2Vzczo6c2hhcmVkKCkudXNlc05ldHdvcmtQcm9jZXNzKCkpIHsKLSAgICAg
ICAgVmVjdG9yPFN0cmluZz4gaG9zdG5hbWVzVmVjdG9yOwotICAgICAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5uZXR3b3JrQ29ubmVjdGlvbigpLT5jb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3Nh
Z2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoY29udGV4dCAmJiBjb250ZXh0LT5pblByaXZhdGVCcm93c2luZ01vZGUoKSksIE1lc3NhZ2Vz
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R2V0SG9zdG5hbWVzV2l0aENvb2tpZXM6
OlJlcGx5KGhvc3RuYW1lc1ZlY3RvciksIDApOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpICE9IGhvc3RuYW1lc1ZlY3Rvci5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGhvc3RuYW1l
cy5hZGQoaG9zdG5hbWVzVmVjdG9yW2ldKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRp
ZgotCi0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29udGV4dCwgaG9zdG5h
bWVzKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZXNGb3JI
b3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSkKLXsKLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotICAgIGlmIChXZWJQcm9jZXNzOjpz
aGFyZWQoKS51c2VzTmV0d29ya1Byb2Nlc3MoKSkgewotICAgICAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS5uZXR3b3JrQ29ubmVjdGlvbigpLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpEZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29u
dGV4dCAmJiBjb250ZXh0LT5pblByaXZhdGVCcm93c2luZ01vZGUoKSwgaG9zdG5hbWUpLCAwKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCi0gICAgV2ViQ29yZTo6ZGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKGNvbnRleHQsIGhvc3RuYW1lKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQp
Ci17Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSAgICBpZiAoV2ViUHJvY2Vzczo6c2hh
cmVkKCkudXNlc05ldHdvcmtQcm9jZXNzKCkpIHsKLSAgICAgICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6RGVsZXRlQWxsQ29va2llcyhjb250ZXh0ICYmIGNv
bnRleHQtPmluUHJpdmF0ZUJyb3dzaW5nTW9kZSgpKSwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0jZW5kaWYKLQotICAgIFdlYkNvcmU6OmRlbGV0ZUFsbENvb2tpZXMoY29udGV4dCk7Ci19
Ci0KIC8vIERhdGFiYXNlU3RyYXRlZ3kKIAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDkgKzY2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIFN0cmluZyBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZShXZWJDb3JlOjpOZXR3b3Jr
aW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdlYkNv
cmU6OktVUkwmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0UmF3Q29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHks
IGNvbnN0IFdlYkNvcmU6OktVUkwmLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVDb29raWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIGdldEhvc3RuYW1lc1dpdGhDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCBkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqLCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGVsZXRlQWxsQ29va2llcyhXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCopIE9WRVJSSURFOwog
CiAgICAgLy8gV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneQogI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0x
Mi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1v
dmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmg6CisKIDIwMTItMTItMTYgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3
b25AZ21haWwuY29tPgogCiAgICAgICAgIEZpeCB1bnVzZWQgcGFyYW1ldGVyIGNvbXBpbGUgd2Fy
bmluZ3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc0VmbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE2LDIxICsxMTYsNiBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2ll
c0VmbDo6ZGVsZXRlQ29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRleHQsIHVy
bCwgY29va2llTmFtZSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpnZXRIb3N0
bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJp
bmc+JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMo
Y29udGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmRl
bGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBob3N0bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9zdG5h
bWUoY29udGV4dCwgaG9zdG5hbWUpOwotfQotCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6
ZGVsZXRlQWxsQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBXZWJD
b3JlOjpkZWxldGVBbGxDb29raWVzKGNvbnRleHQpOwotfQotCiB2b2lkIFBsYXRmb3JtU3RyYXRl
Z2llc0VmbDo6cmVmcmVzaFBsdWdpbnMoKQogewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw5ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgY29v
a2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBj
b25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJik7CiAg
ICAgdmlydHVhbCBib29sIGdldFJhd0Nvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQq
LCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwg
VmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2ll
KFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0
IFN0cmluZyYpOwotICAgIHZpcnR1YWwgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFdlYkNvcmU6Ok5ldHdvcmtp
bmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci0gICAgdmlydHVhbCB2b2lkIGRl
bGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqKTsKIAogICAgIC8vIFdl
YkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAvLyAtIFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50
YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzR3RrLmg6CisKIDIwMTItMTItMTUgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRnJhbWVMb2FkZXJDbGllbnQ6OmRv
d25sb2FkIHRvIGNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZApJbmRleDogU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNHdGsuY3BwCShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTAsMjEgKzExMCw2IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpkZWxldGVDb29raWUK
ICAgICBXZWJDb3JlOjpkZWxldGVDb29raWUoY29udGV4dCwgdXJsLCBjb29raWVOYW1lKTsKIH0K
IAotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmdldEhvc3RuYW1lc1dpdGhDb29raWVzKE5l
dHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1lcykKLXsK
LSAgICBXZWJDb3JlOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhjb250ZXh0LCBob3N0bmFtZXMp
OwotfQotCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6ZGVsZXRlQ29va2llc0Zvckhvc3Ru
YW1lKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQot
ewotICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShjb250ZXh0LCBob3N0bmFt
ZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpkZWxldGVBbGxDb29raWVzKE5l
dHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUFsbENvb2tp
ZXMoY29udGV4dCk7Ci19Ci0KIC8vIFBsdWdpblN0cmF0ZWd5CiB2b2lkIFBsYXRmb3JtU3RyYXRl
Z2llc0d0azo6cmVmcmVzaFBsdWdpbnMoKQogewpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgJKHJldmlz
aW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1Miw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoV2ViQ29y
ZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBj
b25zdCBXZWJDb3JlOjpLVVJMJik7CiAgICAgdmlydHVhbCBib29sIGdldFJhd0Nvb2tpZXMoV2Vi
Q29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5
LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFN0cmluZyYpOwotICAgIHZpcnR1YWwgdm9pZCBnZXRI
b3N0bmFtZXNXaXRoQ29va2llcyhXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8
U3RyaW5nPiYgaG9zdG5hbWVzKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhv
c3RuYW1lKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2lu
Z0NvbnRleHQqKTsKIAogICAgIC8vIFdlYkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAvLyAt
IFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20g
Q29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDUzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKwogMjAxMi0xMi0x
OCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU3OQpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJ
KHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw5ICs2MCw2IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUo
V2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBh
cnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGdl
dFJhd0Nvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpL
VVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkNv
b2tpZT4mKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llKFdlYkNvcmU6
Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFN0cmluZyYp
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFdlYkNvcmU6
Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSkgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqKSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAv
LyAtIFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyMSArMTMwLDYg
QEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZQogICAgIFdlYkNvcmU6
OmRlbGV0ZUNvb2tpZShjb250ZXh0LCB1cmwsIGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoTmV0d29ya2luZ0NvbnRl
eHQqIGNvbnRleHQsIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKQotewotICAgIFdlYkNvcmU6
OmdldEhvc3RuYW1lc1dpdGhDb29raWVzKGNvbnRleHQsIGhvc3RuYW1lcyk7Ci19Ci0KLXZvaWQg
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoTmV0d29ya2lu
Z0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCi17Ci0gICAgV2ViQ29y
ZTo6ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGNvbnRleHQsIGhvc3RuYW1lKTsKLX0KLQotdm9p
ZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRl
eHQqIGNvbnRleHQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsK
LX0KLQogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlZnJlc2hQbHVnaW5zKCkKIHsKICAg
ICBbW1dlYlBsdWdpbkRhdGFiYXNlIHNoYXJlZERhdGFiYXNlXSByZWZyZXNoXTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEyLTE4ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBm
dW5jdGlvbnMgZnJvbSBDb29raWVzU3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0Lmg6
CisKIDIwMTItMTItMTcgIE9zd2FsZCBCdWRkZW5oYWdlbiAgPG9zd2FsZC5idWRkZW5oYWdlbkBk
aWdpYS5jb20+CiAKICAgICAgICAgW1F0XSByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBDT05GSUcg
YWRkaXRpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyOSwyMSArMTI5LDYgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6ZGVsZXRlQ29va2llKAogICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZShjb250ZXh0LCB1cmws
IGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpnZXRIb3N0bmFt
ZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJpbmc+
JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29u
dGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6ZGVsZXRl
Q29va2llc0Zvckhvc3RuYW1lKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJp
bmcmIGhvc3RuYW1lKQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShj
b250ZXh0LCBob3N0bmFtZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmRlbGV0
ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQpCi17Ci0gICAgV2ViQ29yZTo6
ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsKLX0KLQogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6cmVmcmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVn
aW5zKCktPnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzODA4MCkKKysr
IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAko
d29ya2luZyBjb3B5KQpAQCAtNjQsOSArNjQsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3Ry
aW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250
ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VS
TCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6
S1VSTCYsIFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUNvb2tpZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1l
cyk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAg
ICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTM4MDg4KQorKysg
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMTItMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9ucyBmcm9tIENvb2tpZXNTdHJhdGVneQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MzY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCiAyMDEyLTEyLTE1ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEZyYW1lTG9hZGVyQ2xp
ZW50Ojpkb3dubG9hZCB0byBjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTI2LDIxICsxMjYsNiBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6ZGVsZXRl
Q29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRleHQsIHVybCwgY29va2llTmFt
ZSk7CiB9CiAKLXZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRIb3N0bmFtZXNXaXRoQ29v
a2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJpbmc+JiBob3N0bmFt
ZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29udGV4dCwgaG9z
dG5hbWVzKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZXNG
b3JIb3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBob3N0
bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29udGV4dCwg
aG9zdG5hbWUpOwotfQotCi12b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6ZGVsZXRlQWxsQ29v
a2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVB
bGxDb29raWVzKGNvbnRleHQpOwotfQotCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVm
cmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCkt
PnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzgwODApCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjEsOSArNjEsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3Ry
aW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250
ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VS
TCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6
S1VSTCYsIFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUNvb2tpZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1l
cyk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAg
ICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODA4OCkK
KysrIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMTItMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9ucyBmcm9tIENvb2tpZXNTdHJh
dGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
MzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaDoKKwogMjAxMi0xMi0xNSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBGcmFt
ZUxvYWRlckNsaWVudDo6ZG93bmxvYWQgdG8gY29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25s
b2FkCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1dpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAkocmV2aXNpb24gMTM4MDgwKQor
KysgU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywyMSArMTEzLDYgQEAgdm9pZCBQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6ZGVsZXRlQ29vawogICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZShj
b250ZXh0LCB1cmwsIGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dp
bkNFOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
SGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVz
V2l0aENvb2tpZXMoY29udGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0
ZWdpZXNXaW5DRTo6ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKE5ldHdvcmtpbmdDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUNv
b2tpZXNGb3JIb3N0bmFtZShjb250ZXh0LCBob3N0bmFtZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0U6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRl
eHQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsKLX0KLQogdm9p
ZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6cmVmcmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdp
bkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1dpbkNFLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAkod29ya2luZyBjb3B5KQpA
QCAtNTcsOSArNTcsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3RyaW5nIGNvb2tpZVJlcXVl
c3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2Vi
Q29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIHZpcnR1
YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3Qg
V2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIFZlY3RvcjxX
ZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZShXZWJDb3Jl
OjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBTdHJpbmcm
KTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoV2ViQ29yZTo6TmV0
d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1lcyk7Ci0gICAgdmlydHVh
bCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4
dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwgdm9pZCBkZWxldGVBbGxD
b29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAgICAvLyBXZWJDb3JlOjpE
YXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgo=
</data>
<flag name="commit-queue"
          id="197194"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180063</attachid>
            <date>2012-12-18 17:07:59 -0800</date>
            <delta_ts>2012-12-18 17:52:25 -0800</delta_ts>
            <desc>with build fixes</desc>
            <filename>DeleteStrategyFunctions.txt</filename>
            <type>text/plain</type>
            <size>30551</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODA4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEyLTE4ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2Fy
eSBmdW5jdGlvbnMgZnJvbSBDb29raWVzU3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBDb29raWVKYXIgZnVuY3Rpb25zIHRoYXQg
YXJlIG9ubHkgZXZlciBjYWxsZWQgZnJvbSBXZWJLaXQuCisKKyAgICAgICAgKiBXZWJDb3JlLmV4
cC5pbjoKKyAgICAgICAgKiBsb2FkZXIvQ29va2llSmFyLmNwcDoKKyAgICAgICAgKiBsb2FkZXIv
Q29va2llSmFyLmg6CisgICAgICAgICogcGxhdGZvcm0vQ29va2llc1N0cmF0ZWd5Lmg6CisKIDIw
MTItMTItMTggIE1hcmsgTGFtICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVk
IGJhZCBtZXJnZSBpbiAiSW5pdGlhbCByZWZhY3RvcmluZyBvZiBkYXRhYmFzZSBmdW5jdGlvbmFs
aXR5IGludG8gdGhlIG1hbmFnZXIgYW5kIHNlcnZlciIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTQ4Nyw3ICs0ODcsNiBAQCBfX1pON1dlYkNvcmUxNlZpc2libGVTZWxl
Y3Rpb25DMUVSS05TXzE1CiBfX1pON1dlYkNvcmUxNmNyZWF0ZUZ1bGxNYXJrdXBFUEtOU180Tm9k
ZUUKIF9fWk43V2ViQ29yZTE2Y3JlYXRlRnVsbE1hcmt1cEVQS05TXzVSYW5nZUUKIF9fWk43V2Vi
Q29yZTE2ZGVsZXRlQWxsQ29va2llc0VQTlNfMTdOZXR3b3JraW5nQ29udGV4dEUKLV9fWk43V2Vi
Q29yZTE2ZGVsZXRlQWxsQ29va2llc0V2CiBfX1pON1dlYkNvcmUxNmVuY2xvc2luZ0ludFJlY3RF
UktOU185RmxvYXRSZWN0RQogX19aTjdXZWJDb3JlMTZpc0VuZE9mUGFyYWdyYXBoRVJLTlNfMTVW
aXNpYmxlUG9zaXRpb25FTlNfMjdFZGl0aW5nQm91bmRhcnlDcm9zc2luZ1J1bGVFCiBfX1pON1dl
YkNvcmUxNmlzVXNlclZpc2libGVVUkxFUDhOU1N0cmluZwpAQCAtNjUxLDcgKzY1MCw2IEBAIF9f
Wk43V2ViQ29yZTIzZGF0YUZvclVSTENvbXBvbmVudFR5cGVFUDUKIF9fWk43V2ViQ29yZTIzZGVj
b2RlSG9zdE5hbWVXaXRoUmFuZ2VFUDhOU1N0cmluZzhfTlNSYW5nZQogX19aTjdXZWJDb3JlMjNl
bmNvZGVIb3N0TmFtZVdpdGhSYW5nZUVQOE5TU3RyaW5nOF9OU1JhbmdlCiBfX1pON1dlYkNvcmUy
M2dldEhvc3RuYW1lc1dpdGhDb29raWVzRVBOU18xN05ldHdvcmtpbmdDb250ZXh0RVJOM1dURjdI
YXNoU2V0SU5TMl82U3RyaW5nRU5TMl8xMFN0cmluZ0hhc2hFTlMyXzEwSGFzaFRyYWl0c0lTNF9F
RUVFCi1fX1pON1dlYkNvcmUyM2dldEhvc3RuYW1lc1dpdGhDb29raWVzRVJOM1dURjdIYXNoU2V0
SU5TMF82U3RyaW5nRU5TMF8xMFN0cmluZ0hhc2hFTlMwXzEwSGFzaFRyYWl0c0lTMl9FRUVFCiBf
X1pON1dlYkNvcmUyNEJpbmFyeVByb3BlcnR5TGlzdFdyaXRlcjE3d3JpdGVQcm9wZXJ0eUxpc3RF
dgogX19aTjdXZWJDb3JlMjRDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UxMXNldFJlc291cmNlRVBO
U18xNENhY2hlZFJlc291cmNlRQogX19aTjdXZWJDb3JlMjRDb21wb3NlZFNoYWRvd1RyZWVXYWxr
ZXIxMGZpcnN0Q2hpbGRFdgpAQCAtNjcxLDcgKzY2OSw2IEBAIF9fWk43V2ViQ29yZTI0RnJhbWVE
ZXN0cnVjdGlvbk9ic2VydmVyRDIKIF9fWk43V2ViQ29yZTI0Y3JlYXRlRnJhZ21lbnRGcm9tTWFy
a3VwRVBOU184RG9jdW1lbnRFUktOM1dURjZTdHJpbmdFUzVfTlNfMjdGcmFnbWVudFNjcmlwdGlu
Z1Blcm1pc3Npb25FCiBfX1pON1dlYkNvcmUyNGRlY29kZVVSTEVzY2FwZVNlcXVlbmNlc0VSS04z
V1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lRVBOU18x
N05ldHdvcmtpbmdDb250ZXh0RVJLTjNXVEY2U3RyaW5nRQotX19aTjdXZWJDb3JlMjRkZWxldGVD
b29raWVzRm9ySG9zdG5hbWVFUktOM1dURjZTdHJpbmdFCiBfX1pON1dlYkNvcmUyNGZpbGVTeXN0
ZW1SZXByZXNlbnRhdGlvbkVSS04zV1RGNlN0cmluZ0UKIF9fWk43V2ViQ29yZTI0bm90aWZ5SGlz
dG9yeUl0ZW1DaGFuZ2VkRQogX19aTjdXZWJDb3JlMjVIaXN0b3J5UHJvcGVydHlMaXN0V3JpdGVy
MTFyZWxlYXNlRGF0YUV2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmNwcAkocmV2
aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0Nvb2tpZUphci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEwOCwzMSArMTA4LDQgQEAgdm9pZCBkZWxldGVDb29raWUoY29uc3Qg
RG9jdW1lbnQqIGRvY3VtZQogI2VuZGlmCiB9CiAKLXZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFU
RUdJRVMpCi0gICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVneSgpLT5nZXRI
b3N0bmFtZXNXaXRoQ29va2llcygwLCBob3N0bmFtZXMpOwotI2Vsc2UKLSAgICBnZXRIb3N0bmFt
ZXNXaXRoQ29va2llcygwLCBob3N0bmFtZXMpOwotI2VuZGlmCi19Ci0KLXZvaWQgZGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCi17Ci0jaWYgVVNFKFBMQVRG
T1JNX1NUUkFURUdJRVMpCi0gICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVn
eSgpLT5kZWxldGVDb29raWVzRm9ySG9zdG5hbWUoMCwgaG9zdG5hbWUpOwotI2Vsc2UKLSAgICBk
ZWxldGVDb29raWVzRm9ySG9zdG5hbWUoMCwgaG9zdG5hbWUpOwotI2VuZGlmCi19Ci0KLXZvaWQg
ZGVsZXRlQWxsQ29va2llcygpCi17Ci0jaWYgVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMpCi0gICAg
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmNvb2tpZXNTdHJhdGVneSgpLT5kZWxldGVBbGxDb29raWVz
KDApOwotI2Vsc2UKLSAgICBkZWxldGVBbGxDb29raWVzKDApOwotI2VuZGlmCi19Ci0KIH0KSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvQ29va2llSmFyLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2xvYWRlci9Db29raWVKYXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMjEgKzM3
LDE3IEBAIGNsYXNzIERvY3VtZW50OwogY2xhc3MgS1VSTDsKIHN0cnVjdCBDb29raWU7CiAKKy8v
IEZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgdGFrZSBhIERvY3VtZW50IHBvaW50ZXIgdG8gZGV0ZXJt
aW5lIHdoaWNoIGNvb2tpZSBzdG9yYWdlIHRvIHVzZS4gV2Ugc2hvdWxkIG1lcmdlIHRhaHQgaW50
byBjYWxsIHNpdGVzLCBhbmQgdXNlIFBsYXRmb3JtQ29va2llSmFyIGRpcmVjdGx5LgorCiAvLyBU
aGVzZSB0d28gZnVuY3Rpb25zIGltcGxlbWVudCBkb2N1bWVudC5jb29raWUgQVBJLCB3aXRoIHNw
ZWNpYWwgcnVsZXMgZm9yIEh0dHBPbmx5IGNvb2tpZXMuCiBTdHJpbmcgY29va2llcyhjb25zdCBE
b2N1bWVudCosIGNvbnN0IEtVUkwmKTsKIHZvaWQgc2V0Q29va2llcyhEb2N1bWVudCosIGNvbnN0
IEtVUkwmLCBjb25zdCBTdHJpbmcmIGNvb2tpZVN0cmluZyk7CiAKLS8vIFRoZXNlIG1ldGhvZHMg
dXNlIGN1cnJlbnQgY29va2llIHN0b3JhZ2UsIHRodXMgdGFraW5nIHByaXZhdGUgYnJvd3Npbmcg
bW9kZSBpbnRvIGFjY291bnQuCiBib29sIGNvb2tpZXNFbmFibGVkKGNvbnN0IERvY3VtZW50Kik7
CiBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoY29uc3QgRG9jdW1lbnQqLCBj
b25zdCBLVVJMJik7CiBib29sIGdldFJhd0Nvb2tpZXMoY29uc3QgRG9jdW1lbnQqLCBjb25zdCBL
VVJMJiwgVmVjdG9yPENvb2tpZT4mKTsKIHZvaWQgZGVsZXRlQ29va2llKGNvbnN0IERvY3VtZW50
KiwgY29uc3QgS1VSTCYsIGNvbnN0IFN0cmluZyYgY29va2llTmFtZSk7CiAKLS8vIFRoZXNlIGZ1
bmN0aW9ucyBhbHdheXMgYWNjZXNzIGRlZmF1bHQgY29va2llIHN0b3JhZ2UsIG5vdCB0YWtpbmcg
cHJpdmF0ZSBicm93c2luZyBtb2RlIGludG8gYWNjb3VudC4KLXZvaWQgZ2V0SG9zdG5hbWVzV2l0
aENvb2tpZXMoSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpOwotdm9pZCBkZWxldGVDb29raWVz
Rm9ySG9zdG5hbWUoY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci12b2lkIGRlbGV0ZUFsbENvb2tp
ZXMoKTsKLQogfQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0Nvb2tp
ZXNTdHJhdGVneS5oCShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9Db29raWVzU3RyYXRlZ3kuaAkod29ya2luZyBjb3B5KQpAQCAtNTcsOSArNTcsNiBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoTmV0
d29ya2luZ0NvbnRleHQqLCBjb25zdCBLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBLVVJMJikgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgS1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgS1VSTCYsIFZlY3RvcjxDb29raWU+JikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkZWxldGVDb29raWUoTmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBL
VVJMJiwgY29uc3QgU3RyaW5nJiBjb29raWVOYW1lKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIGdl
dEhvc3RuYW1lc1dpdGhDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KiwgSGFzaFNldDxTdHJpbmc+
JiBob3N0bmFtZXMpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3Ru
YW1lKE5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSkgPSAwOwotICAg
IHZpcnR1YWwgdm9pZCBkZWxldGVBbGxDb29raWVzKE5ldHdvcmtpbmdDb250ZXh0KikgPSAwOwog
CiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+Q29va2llc1N0cmF0ZWd5KCkgeyB9CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5
YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rp
b25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwOiBDYWxsIFBsYXRmb3JtQ29va2llSmFy
IGRpcmVjdGx5LgorICAgICAgICBDb29raWUgbWVzc2FnZXMgdG8gTmV0d29ya1Byb2Nlc3Mgc2hv
dWxkIG5vdCBiZSBzZW50IHRocm91Z2ggV2ViUHJvY2Vzcy4gSW4gYSBmdXR1cmUKKyAgICAgICAg
cGF0Y2gsIEknbGwgbWFrZSBXZWJDb29raWVNYW5hZ2VyUHJveHkgbWVzc2FnZSBOZXR3b3JrUHJv
Y2VzcyBpbnN0ZWFkLgorCiAyMDEyLTEyLTE4ICBJdmFuIEtyc3RpxIcgIDxpa2VAYXBwbGUuY29t
PgogCiAgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xMjcyMDUzOT4gcGVyLXBpZCBwcml2YXRlIHRl
bXBvcmFyeSBkaXJlY3RvcmllcyBmb3Igc2FuZGJveGVkIHdlYmtpdDIgcGx1Z2lucwpJbmRleDog
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yMDIsMjMgKzIwMiw2IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRlbGUKICAgICBXZWJDb3JlOjpkZWxldGVDb29raWUobmV0d29ya2lu
Z0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCksIHVybCwgY29va2llTmFtZSk7CiB9CiAK
LXZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmdldEhvc3RuYW1lc1dpdGhDb29r
aWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgVmVjdG9yPFN0cmluZz4mIGhvc3RuYW1l
cykKLXsKLSAgICBIYXNoU2V0PFN0cmluZz4gaG9zdG5hbWVzU2V0OwotICAgIFdlYkNvcmU6Omdl
dEhvc3RuYW1lc1dpdGhDb29raWVzKG5ldHdvcmtpbmdDb250ZXh0KHByaXZhdGVCcm93c2luZ0Vu
YWJsZWQpLCBob3N0bmFtZXNTZXQpOwotICAgIFdURjo6Y29weVRvVmVjdG9yKGhvc3RuYW1lc1Nl
dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgY29u
c3QgU3RyaW5nJiBob3N0bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9z
dG5hbWUobmV0d29ya2luZ0NvbnRleHQocHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCksIGhvc3RuYW1l
KTsKLX0KLQotdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGVsZXRlQWxsQ29v
a2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRl
QWxsQ29va2llcyhuZXR3b3JraW5nQ29udGV4dChwcml2YXRlQnJvd3NpbmdFbmFibGVkKSk7Ci19
Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAkocmV2aXNpb24gMTM4MDgwKQor
KysgU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsOSArOTMsNiBAQCBwcml2YXRlOgogICAgIHZv
aWQgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFi
bGVkLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJM
JiwgU3RyaW5nJiByZXN1bHQpOwogICAgIHZvaWQgZ2V0UmF3Q29va2llcyhib29sIHByaXZhdGVC
cm93c2luZ0VuYWJsZWQsIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdl
YkNvcmU6OktVUkwmLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpOwogICAgIHZvaWQgZGVsZXRl
Q29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwgY29uc3QgV2ViQ29yZTo6S1VSTCYs
IGNvbnN0IFN0cmluZyYgY29va2llTmFtZSk7Ci0gICAgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29v
a2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFZlY3RvcjxTdHJpbmc+JiBob3N0bmFt
ZXMpOwotICAgIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGJvb2wgcHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZCwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci0gICAgdm9pZCBkZWxldGVBbGxD
b29raWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCk7CiAKICAgICBSZWZQdHI8Q29yZUlQ
Qzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIApJbmRleDogU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4JKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw5ICs0Nyw2IEBAIG1lc3NhZ2VzIC0+IE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXMKICAgICBDb29raWVSZXF1ZXN0SGVhZGVyRmllbGRW
YWx1ZShib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OktVUkwgZmlyc3RQYXJ0
eSwgV2ViQ29yZTo6S1VSTCB1cmwpIC0+IChXVEY6OlN0cmluZyByZXN1bHQpCiAgICAgR2V0UmF3
Q29va2llcyhib29sIHByaXZhdGVCcm93c2luZ0VuYWJsZWQsIFdlYkNvcmU6OktVUkwgZmlyc3RQ
YXJ0eSwgV2ViQ29yZTo6S1VSTCB1cmwpIC0+IChXVEY6OlZlY3RvcjxXZWJDb3JlOjpDb29raWU+
IGNvb2tpZXMpCiAgICAgRGVsZXRlQ29va2llKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCwg
V2ViQ29yZTo6S1VSTCB1cmwsIFdURjo6U3RyaW5nIGNvb2tpZU5hbWUpCi0gICAgR2V0SG9zdG5h
bWVzV2l0aENvb2tpZXMoYm9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkKSAtPiAoV1RGOjpWZWN0
b3I8V1RGOjpTdHJpbmc+IGhvc3RuYW1lcykKLSAgICBEZWxldGVDb29raWVzRm9ySG9zdG5hbWUo
Ym9vbCBwcml2YXRlQnJvd3NpbmdFbmFibGVkLCBXVEY6OlN0cmluZyBob3N0bmFtZSkKLSAgICBE
ZWxldGVBbGxDb29raWVzKGJvb2wgcHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCkKIH0KIAogI2VuZGlm
IC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFuYWdlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9Db29raWVzL1dlYkNvb2tpZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAx
MzgwODApCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Nvb2tpZXMvV2ViQ29va2llTWFu
YWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDggKzI5LDggQEAKICNpbmNsdWRlICJNZXNz
YWdlSUQuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2lu
Y2x1ZGUgIldlYlByb2Nlc3MuaCIKLSNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZUphci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvQ29va2llU3RvcmFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZv
cm1Db29raWVKYXIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTU3LDcgKzU3
LDcgQEAgdm9pZCBXZWJDb29raWVNYW5hZ2VyOjpnZXRIb3N0bmFtZXNXaXRoQwogCiAgICAgSGFz
aFNldDxTdHJpbmc+IGhvc3RuYW1lczsKIAotICAgIFdlYkNvcmU6OmdldEhvc3RuYW1lc1dpdGhD
b29raWVzKGhvc3RuYW1lcyk7CisgICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMo
MCwgaG9zdG5hbWVzKTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IGhvc3RuYW1lTGlzdDsKICAgICBj
b3B5VG9WZWN0b3IoaG9zdG5hbWVzLCBob3N0bmFtZUxpc3QpOwpAQCAtNjksMTQgKzY5LDE0IEBA
IHZvaWQgV2ViQ29va2llTWFuYWdlcjo6ZGVsZXRlQ29va2llc0ZvckgKIHsKICAgICBXZWJQcm9j
ZXNzOjpMb2NhbFRlcm1pbmF0aW9uRGlzYWJsZXIgdGVybWluYXRpb25EaXNhYmxlcihXZWJQcm9j
ZXNzOjpzaGFyZWQoKSk7CiAKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUo
aG9zdG5hbWUpOworICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZSgwLCBob3N0
bmFtZSk7CiB9CiAKIHZvaWQgV2ViQ29va2llTWFuYWdlcjo6ZGVsZXRlQWxsQ29va2llcygpCiB7
CiAgICAgV2ViUHJvY2Vzczo6TG9jYWxUZXJtaW5hdGlvbkRpc2FibGVyIHRlcm1pbmF0aW9uRGlz
YWJsZXIoV2ViUHJvY2Vzczo6c2hhcmVkKCkpOwogCi0gICAgV2ViQ29yZTo6ZGVsZXRlQWxsQ29v
a2llcygpOworICAgIFdlYkNvcmU6OmRlbGV0ZUFsbENvb2tpZXMoMCk7CiB9CiAKIHZvaWQgV2Vi
Q29va2llTWFuYWdlcjo6c3RhcnRPYnNlcnZpbmdDb29raWVDaGFuZ2VzKCkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTk5LDQ1ICsxOTksNiBAQCB2b2lkIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6ZGVsZXRlQ29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRl
eHQsIHVybCwgY29va2llTmFtZSk7CiB9CiAKLXZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpn
ZXRIb3N0bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNl
dDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSAg
ICBpZiAoV2ViUHJvY2Vzczo6c2hhcmVkKCkudXNlc05ldHdvcmtQcm9jZXNzKCkpIHsKLSAgICAg
ICAgVmVjdG9yPFN0cmluZz4gaG9zdG5hbWVzVmVjdG9yOwotICAgICAgICBXZWJQcm9jZXNzOjpz
aGFyZWQoKS5uZXR3b3JrQ29ubmVjdGlvbigpLT5jb25uZWN0aW9uKCktPnNlbmRTeW5jKE1lc3Nh
Z2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoY29udGV4dCAmJiBjb250ZXh0LT5pblByaXZhdGVCcm93c2luZ01vZGUoKSksIE1lc3NhZ2Vz
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R2V0SG9zdG5hbWVzV2l0aENvb2tpZXM6
OlJlcGx5KGhvc3RuYW1lc1ZlY3RvciksIDApOwotICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpICE9IGhvc3RuYW1lc1ZlY3Rvci5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGhvc3RuYW1l
cy5hZGQoaG9zdG5hbWVzVmVjdG9yW2ldKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRp
ZgotCi0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29udGV4dCwgaG9zdG5h
bWVzKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZXNGb3JI
b3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSkKLXsKLSNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQotICAgIGlmIChXZWJQcm9jZXNzOjpz
aGFyZWQoKS51c2VzTmV0d29ya1Byb2Nlc3MoKSkgewotICAgICAgICBXZWJQcm9jZXNzOjpzaGFy
ZWQoKS5uZXR3b3JrQ29ubmVjdGlvbigpLT5jb25uZWN0aW9uKCktPnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpEZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29u
dGV4dCAmJiBjb250ZXh0LT5pblByaXZhdGVCcm93c2luZ01vZGUoKSwgaG9zdG5hbWUpLCAwKTsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgotCi0gICAgV2ViQ29yZTo6ZGVsZXRlQ29v
a2llc0Zvckhvc3RuYW1lKGNvbnRleHQsIGhvc3RuYW1lKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQp
Ci17Ci0jaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKLSAgICBpZiAoV2ViUHJvY2Vzczo6c2hh
cmVkKCkudXNlc05ldHdvcmtQcm9jZXNzKCkpIHsKLSAgICAgICAgV2ViUHJvY2Vzczo6c2hhcmVk
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS0+Y29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6RGVsZXRlQWxsQ29va2llcyhjb250ZXh0ICYmIGNv
bnRleHQtPmluUHJpdmF0ZUJyb3dzaW5nTW9kZSgpKSwgMCk7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0jZW5kaWYKLQotICAgIFdlYkNvcmU6OmRlbGV0ZUFsbENvb2tpZXMoY29udGV4dCk7Ci19
Ci0KIC8vIERhdGFiYXNlU3RyYXRlZ3kKIAogI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4
OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTY2LDkgKzY2LDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0
dWFsIFN0cmluZyBjb29raWVSZXF1ZXN0SGVhZGVyRmllbGRWYWx1ZShXZWJDb3JlOjpOZXR3b3Jr
aW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdlYkNv
cmU6OktVUkwmKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIGJvb2wgZ2V0UmF3Q29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmIGZpcnN0UGFydHks
IGNvbnN0IFdlYkNvcmU6OktVUkwmLCBWZWN0b3I8V2ViQ29yZTo6Q29va2llPiYpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBkZWxldGVDb29raWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgU3RyaW5nJikgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIGdldEhvc3RuYW1lc1dpdGhDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgSGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpIE9WRVJSSURFOwotICAgIHZpcnR1
YWwgdm9pZCBkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqLCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQg
ZGVsZXRlQWxsQ29va2llcyhXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCopIE9WRVJSSURFOwog
CiAgICAgLy8gV2ViQ29yZTo6RGF0YWJhc2VTdHJhdGVneQogI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0x
Mi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBSZW1v
dmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1Bs
YXRmb3JtU3RyYXRlZ2llc0VmbC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzRWZsLmg6CisKIDIwMTItMTItMTYgIFNlb2tqdSBLd29uICA8c2Vva2p1Lmt3
b25AZ21haWwuY29tPgogCiAgICAgICAgIEZpeCB1bnVzZWQgcGFyYW1ldGVyIGNvbXBpbGUgd2Fy
bmluZ3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc0VmbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMTE2LDIxICsxMTYsNiBAQCB2b2lkIFBsYXRmb3JtU3RyYXRlZ2ll
c0VmbDo6ZGVsZXRlQ29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRleHQsIHVy
bCwgY29va2llTmFtZSk7CiB9CiAKLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpnZXRIb3N0
bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJp
bmc+JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMo
Y29udGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmRl
bGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3Qg
U3RyaW5nJiBob3N0bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9zdG5h
bWUoY29udGV4dCwgaG9zdG5hbWUpOwotfQotCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6
ZGVsZXRlQWxsQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBXZWJD
b3JlOjpkZWxldGVBbGxDb29raWVzKGNvbnRleHQpOwotfQotCiB2b2lkIFBsYXRmb3JtU3RyYXRl
Z2llc0VmbDo6cmVmcmVzaFBsdWdpbnMoKQogewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5f
QVBJKQpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9X
ZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCSh3b3JraW5n
IGNvcHkpCkBAIC01Myw5ICs1Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgY29v
a2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBj
b25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJik7CiAg
ICAgdmlydHVhbCBib29sIGdldFJhd0Nvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQq
LCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwg
VmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2ll
KFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0
IFN0cmluZyYpOwotICAgIHZpcnR1YWwgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFdlYkNvcmU6Ok5ldHdvcmtp
bmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSk7Ci0gICAgdmlydHVhbCB2b2lkIGRl
bGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqKTsKIAogICAgIC8vIFdl
YkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAvLyAtIFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50
YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2Uv
V2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAx
Mi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20gQ29va2llc1N0cmF0ZWd5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUzNjkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxh
dGZvcm1TdHJhdGVnaWVzR3RrLmg6CisKIDIwMTItMTItMTUgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW5hbWUgRnJhbWVMb2FkZXJDbGllbnQ6OmRv
d25sb2FkIHRvIGNvbnZlcnRNYWluUmVzb3VyY2VMb2FkVG9Eb3dubG9hZApJbmRleDogU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNHdGsuY3BwCShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTAsMjEgKzExMCw2IEBAIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpkZWxldGVDb29raWUK
ICAgICBXZWJDb3JlOjpkZWxldGVDb29raWUoY29udGV4dCwgdXJsLCBjb29raWVOYW1lKTsKIH0K
IAotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmdldEhvc3RuYW1lc1dpdGhDb29raWVzKE5l
dHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1lcykKLXsK
LSAgICBXZWJDb3JlOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhjb250ZXh0LCBob3N0bmFtZXMp
OwotfQotCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc0d0azo6ZGVsZXRlQ29va2llc0Zvckhvc3Ru
YW1lKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQot
ewotICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShjb250ZXh0LCBob3N0bmFt
ZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpkZWxldGVBbGxDb29raWVzKE5l
dHdvcmtpbmdDb250ZXh0KiBjb250ZXh0KQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUFsbENvb2tp
ZXMoY29udGV4dCk7Ci19Ci0KIC8vIFBsdWdpblN0cmF0ZWd5CiB2b2lkIFBsYXRmb3JtU3RyYXRl
Z2llc0d0azo6cmVmcmVzaFBsdWdpbnMoKQogewpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmgJKHJldmlz
aW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc0d0ay5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw5ICs1Miw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUoV2ViQ29y
ZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5LCBj
b25zdCBXZWJDb3JlOjpLVVJMJik7CiAgICAgdmlydHVhbCBib29sIGdldFJhd0Nvb2tpZXMoV2Vi
Q29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBhcnR5
LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkNvb2tpZT4mKTsKICAgICB2
aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29u
c3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFN0cmluZyYpOwotICAgIHZpcnR1YWwgdm9pZCBnZXRI
b3N0bmFtZXNXaXRoQ29va2llcyhXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8
U3RyaW5nPiYgaG9zdG5hbWVzKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhv
c3RuYW1lKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFt
ZSk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2lu
Z0NvbnRleHQqKTsKIAogICAgIC8vIFdlYkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAvLyAt
IFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xOCAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFw
QGFwcGxlLmNvbT4KKworICAgICAgICBSZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb25zIGZyb20g
Q29va2llc1N0cmF0ZWd5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDUzNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbToKKwogMjAxMi0xMi0x
OCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CiAKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjU3OQpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJ
KHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw5ICs2MCw2IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCBTdHJpbmcgY29va2llUmVxdWVzdEhlYWRlckZpZWxkVmFsdWUo
V2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpLVVJMJiBmaXJzdFBh
cnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJikgT1ZFUlJJREU7CiAgICAgdmlydHVhbCBib29sIGdl
dFJhd0Nvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBjb25zdCBXZWJDb3JlOjpL
VVJMJiBmaXJzdFBhcnR5LCBjb25zdCBXZWJDb3JlOjpLVVJMJiwgVmVjdG9yPFdlYkNvcmU6OkNv
b2tpZT4mKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llKFdlYkNvcmU6
Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFN0cmluZyYp
IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhXZWJD
b3JlOjpOZXR3b3JraW5nQ29udGV4dCosIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKFdlYkNvcmU6
Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgU3RyaW5nJiBob3N0bmFtZSkgT1ZFUlJJREU7Ci0g
ICAgdmlydHVhbCB2b2lkIGRlbGV0ZUFsbENvb2tpZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRl
eHQqKSBPVkVSUklERTsKIAogICAgIC8vIFdlYkNvcmU6OkRhdGFiYXNlU3RyYXRlZ3kKICAgICAv
LyAtIFVzaW5nIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCkluZGV4OiBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CShyZXZpc2lvbiAxMzgwODApCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzMCwyMSArMTMwLDYg
QEAgdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZQogICAgIFdlYkNvcmU6
OmRlbGV0ZUNvb2tpZShjb250ZXh0LCB1cmwsIGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoTmV0d29ya2luZ0NvbnRl
eHQqIGNvbnRleHQsIEhhc2hTZXQ8U3RyaW5nPiYgaG9zdG5hbWVzKQotewotICAgIFdlYkNvcmU6
OmdldEhvc3RuYW1lc1dpdGhDb29raWVzKGNvbnRleHQsIGhvc3RuYW1lcyk7Ci19Ci0KLXZvaWQg
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoTmV0d29ya2lu
Z0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCi17Ci0gICAgV2ViQ29y
ZTo6ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKGNvbnRleHQsIGhvc3RuYW1lKTsKLX0KLQotdm9p
ZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRl
eHQqIGNvbnRleHQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsK
LX0KLQogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlZnJlc2hQbHVnaW5zKCkKIHsKICAg
ICBbW1dlYlBsdWdpbkRhdGFiYXNlIHNoYXJlZERhdGFiYXNlXSByZWZyZXNoXTsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCShyZXZpc2lvbiAxMzgwODgpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTEyLTE4ICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIFJlbW92ZSB1bm5lY2Vzc2FyeSBm
dW5jdGlvbnMgZnJvbSBDb29raWVzU3RyYXRlZ3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTM2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
UXQuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0Lmg6
CisKIDIwMTItMTItMTcgIE9zd2FsZCBCdWRkZW5oYWdlbiAgPG9zd2FsZC5idWRkZW5oYWdlbkBk
aWdpYS5jb20+CiAKICAgICAgICAgW1F0XSByZW1vdmUgc29tZSB1bm5lY2Vzc2FyeSBDT05GSUcg
YWRkaXRpb25zCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1F0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTEyOSwyMSArMTI5LDYgQEAgdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6ZGVsZXRlQ29va2llKAogICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZShjb250ZXh0LCB1cmws
IGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1F0OjpnZXRIb3N0bmFt
ZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJpbmc+
JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29u
dGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6ZGVsZXRl
Q29va2llc0Zvckhvc3RuYW1lKE5ldHdvcmtpbmdDb250ZXh0KiBjb250ZXh0LCBjb25zdCBTdHJp
bmcmIGhvc3RuYW1lKQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShj
b250ZXh0LCBob3N0bmFtZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmRlbGV0
ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRleHQpCi17Ci0gICAgV2ViQ29yZTo6
ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsKLX0KLQogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNR
dDo6cmVmcmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVn
aW5zKCktPnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzODA4MCkKKysr
IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAko
d29ya2luZyBjb3B5KQpAQCAtNjQsOSArNjQsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3Ry
aW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250
ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VS
TCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6
S1VSTCYsIFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUNvb2tpZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1l
cyk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAg
ICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gMTM4MDg4KQorKysg
U291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTItMTItMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9ucyBmcm9tIENvb2tpZXNTdHJhdGVneQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MzY5CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oOgorCiAyMDEyLTEyLTE1ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVuYW1lIEZyYW1lTG9hZGVyQ2xp
ZW50Ojpkb3dubG9hZCB0byBjb252ZXJ0TWFpblJlc291cmNlTG9hZFRvRG93bmxvYWQKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTM4MDgwKQorKysgU291cmNlL1dlYktpdC93
aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTI2LDIxICsxMjYsNiBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6ZGVsZXRl
Q29va2llCiAgICAgV2ViQ29yZTo6ZGVsZXRlQ29va2llKGNvbnRleHQsIHVybCwgY29va2llTmFt
ZSk7CiB9CiAKLXZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpnZXRIb3N0bmFtZXNXaXRoQ29v
a2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgSGFzaFNldDxTdHJpbmc+JiBob3N0bmFt
ZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoY29udGV4dCwgaG9z
dG5hbWVzKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmRlbGV0ZUNvb2tpZXNG
b3JIb3N0bmFtZShOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwgY29uc3QgU3RyaW5nJiBob3N0
bmFtZSkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVDb29raWVzRm9ySG9zdG5hbWUoY29udGV4dCwg
aG9zdG5hbWUpOwotfQotCi12b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6ZGVsZXRlQWxsQ29v
a2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCkKLXsKLSAgICBXZWJDb3JlOjpkZWxldGVB
bGxDb29raWVzKGNvbnRleHQpOwotfQotCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVm
cmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdpbkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCkt
PnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAxMzgwODApCisrKyBT
b3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAko
d29ya2luZyBjb3B5KQpAQCAtNjEsOSArNjEsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3Ry
aW5nIGNvb2tpZVJlcXVlc3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250
ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VS
TCYpOwogICAgIHZpcnR1YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdD
b250ZXh0KiwgY29uc3QgV2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6
S1VSTCYsIFZlY3RvcjxXZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0
ZUNvb2tpZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwm
LCBjb25zdCBTdHJpbmcmKTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tp
ZXMoV2ViQ29yZTo6TmV0d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1l
cyk7Ci0gICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpO
ZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwg
dm9pZCBkZWxldGVBbGxDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAg
ICAvLyBXZWJDb3JlOjpEYXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGlt
cGxlbWVudGF0aW9uLgpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzODA4OCkK
KysrIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTMgQEAKKzIwMTItMTItMTggIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+
CisKKyAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9ucyBmcm9tIENvb2tpZXNTdHJh
dGVneQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1
MzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHA6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaDoKKwogMjAxMi0xMi0xNSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJlbmFtZSBGcmFt
ZUxvYWRlckNsaWVudDo6ZG93bmxvYWQgdG8gY29udmVydE1haW5SZXNvdXJjZUxvYWRUb0Rvd25s
b2FkCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1dpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcAkocmV2aXNpb24gMTM4MDgwKQor
KysgU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExMywyMSArMTEzLDYgQEAgdm9pZCBQbGF0Zm9y
bVN0cmF0ZWdpZXNXaW5DRTo6ZGVsZXRlQ29vawogICAgIFdlYkNvcmU6OmRlbGV0ZUNvb2tpZShj
b250ZXh0LCB1cmwsIGNvb2tpZU5hbWUpOwogfQogCi12b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dp
bkNFOjpnZXRIb3N0bmFtZXNXaXRoQ29va2llcyhOZXR3b3JraW5nQ29udGV4dCogY29udGV4dCwg
SGFzaFNldDxTdHJpbmc+JiBob3N0bmFtZXMpCi17Ci0gICAgV2ViQ29yZTo6Z2V0SG9zdG5hbWVz
V2l0aENvb2tpZXMoY29udGV4dCwgaG9zdG5hbWVzKTsKLX0KLQotdm9pZCBQbGF0Zm9ybVN0cmF0
ZWdpZXNXaW5DRTo6ZGVsZXRlQ29va2llc0Zvckhvc3RuYW1lKE5ldHdvcmtpbmdDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQotewotICAgIFdlYkNvcmU6OmRlbGV0ZUNv
b2tpZXNGb3JIb3N0bmFtZShjb250ZXh0LCBob3N0bmFtZSk7Ci19Ci0KLXZvaWQgUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0U6OmRlbGV0ZUFsbENvb2tpZXMoTmV0d29ya2luZ0NvbnRleHQqIGNvbnRl
eHQpCi17Ci0gICAgV2ViQ29yZTo6ZGVsZXRlQWxsQ29va2llcyhjb250ZXh0KTsKLX0KLQogdm9p
ZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6cmVmcmVzaFBsdWdpbnMoKQogewogICAgIFBsdWdp
bkRhdGFiYXNlOjppbnN0YWxsZWRQbHVnaW5zKCktPnJlZnJlc2goKTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3Ry
YXRlZ2llc1dpbkNFLmgJKHJldmlzaW9uIDEzODA4MCkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2Uv
V2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAkod29ya2luZyBjb3B5KQpA
QCAtNTcsOSArNTcsNiBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgU3RyaW5nIGNvb2tpZVJlcXVl
c3RIZWFkZXJGaWVsZFZhbHVlKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3QgV2Vi
Q29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIHZpcnR1
YWwgYm9vbCBnZXRSYXdDb29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0KiwgY29uc3Qg
V2ViQ29yZTo6S1VSTCYgZmlyc3RQYXJ0eSwgY29uc3QgV2ViQ29yZTo6S1VSTCYsIFZlY3RvcjxX
ZWJDb3JlOjpDb29raWU+Jik7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUNvb2tpZShXZWJDb3Jl
OjpOZXR3b3JraW5nQ29udGV4dCosIGNvbnN0IFdlYkNvcmU6OktVUkwmLCBjb25zdCBTdHJpbmcm
KTsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0SG9zdG5hbWVzV2l0aENvb2tpZXMoV2ViQ29yZTo6TmV0
d29ya2luZ0NvbnRleHQqLCBIYXNoU2V0PFN0cmluZz4mIGhvc3RuYW1lcyk7Ci0gICAgdmlydHVh
bCB2b2lkIGRlbGV0ZUNvb2tpZXNGb3JIb3N0bmFtZShXZWJDb3JlOjpOZXR3b3JraW5nQ29udGV4
dCosIGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpOwotICAgIHZpcnR1YWwgdm9pZCBkZWxldGVBbGxD
b29raWVzKFdlYkNvcmU6Ok5ldHdvcmtpbmdDb250ZXh0Kik7CiAKICAgICAvLyBXZWJDb3JlOjpE
YXRhYmFzZVN0cmF0ZWd5CiAgICAgLy8gLSBVc2luZyBkZWZhdWx0IGltcGxlbWVudGF0aW9uLgo=
</data>
<flag name="review"
          id="197195"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>