<?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>100031</bug_id>
          
          <creation_ts>2012-10-22 14:23:12 -0700</creation_ts>
          <short_desc>Make creating platform strategies easier</short_desc>
          <delta_ts>2012-10-23 15:06:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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>
          
          <blocked>100043</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>747878</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-22 14:23:12 -0700</bug_when>
    <thetext>To create a platform strategy, one needs to touch every platform&apos;s override, even if most of the platforms will just use a default implementation. That&apos;s quite a bit of copy/paste code.

Also, the implementation uses an incorrect idiom - createXXXStrategy functions return a result that shouldn&apos;t be deleted despite having &quot;create&quot; in the name.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747896</commentid>
    <comment_count>1</comment_count>
      <attachid>169988</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-22 14:37:09 -0700</bug_when>
    <thetext>Created attachment 169988
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747910</commentid>
    <comment_count>2</comment_count>
      <attachid>169988</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-22 14:43:49 -0700</bug_when>
    <thetext>Comment on attachment 169988
proposed patch

Attachment 169988 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14500235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747911</commentid>
    <comment_count>3</comment_count>
      <attachid>169988</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-22 14:44:41 -0700</bug_when>
    <thetext>Comment on attachment 169988
proposed patch

Attachment 169988 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14487579</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747941</commentid>
    <comment_count>4</comment_count>
      <attachid>169988</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-22 15:09:47 -0700</bug_when>
    <thetext>Comment on attachment 169988
proposed patch

Attachment 169988 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14488577</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747950</commentid>
    <comment_count>5</comment_count>
      <attachid>169998</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-22 15:15:20 -0700</bug_when>
    <thetext>Created attachment 169998
with build fixes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747967</commentid>
    <comment_count>6</comment_count>
      <attachid>169998</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-10-22 15:35:47 -0700</bug_when>
    <thetext>Comment on attachment 169998
with build fixes

Nit pick: For bonus points anyone who includes PlatformStrategies.h now no longer has to include the header for the specific strategy they meant to use.

R+ after EWS signs off.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748032</commentid>
    <comment_count>7</comment_count>
      <attachid>169998</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-22 16:09:14 -0700</bug_when>
    <thetext>Comment on attachment 169998
with build fixes

Attachment 169998 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14492640</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748054</commentid>
    <comment_count>8</comment_count>
      <attachid>169998</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-22 16:26:34 -0700</bug_when>
    <thetext>Comment on attachment 169998
with build fixes

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

&gt; Source/WebCore/platform/PlatformStrategies.h:33
&gt; +#include &quot;PluginStrategy.h&quot;

Isn&apos;t this a layering violation?  PluginStrategy.h isn&apos;t in the platform directory.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748055</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-22 16:27:12 -0700</bug_when>
    <thetext>http://trac.webkit.org/browser/trunk/Source/WebCore/plugins/PluginStrategy.h

Notice that PluginStrategy.h depends on Page, which is a concept that isn&apos;t allowed in WebCore/platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748095</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-22 16:57:55 -0700</bug_when>
    <thetext>Thanks for catching this!

&gt;Notice that PluginStrategy.h depends on Page, which is a concept that isn&apos;t allowed in WebCore/platform.

This Page dependency looks like a fake one - no port ever looks at this argument. But including PluginStrategy (or possibly even VisitedLinkStrategy) in PlatformStrategies seems flawed.

The design still has the flaws mentioned in description, but we need to approach improving it in some other way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>749039</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-23 15:06:52 -0700</bug_when>
    <thetext>&gt; This Page dependency looks like a fake one - no port ever looks at this argument.

Not true - Qt does.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169988</attachid>
            <date>2012-10-22 14:37:09 -0700</date>
            <delta_ts>2012-10-22 15:15:20 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>DontCreateStrategies.txt</filename>
            <type>text/plain</type>
            <size>21966</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjEzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTIyICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3JlYXRpbmcgcGxh
dGZvcm0gc3RyYXRlZ2llcyBlYXNpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMDAzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIERlbGV0ZXMgbXVjaCBjb3B5L3Bhc3RlZCBjb2RlIHRoYXQgd2UgbmV2
ZXIgbmVlZGVkIHRvIGN1c3RvbWl6ZS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtU3Ry
YXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXM6On5QbGF0
Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpQ
bGF0Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICBNb3ZlZCB0byAuY3BwIGZpbGUuIE5vdCBtdWNo
IGRpZmZlcmVuY2UgaGVyZSwgYnV0IGdlbmVyYWxseSwgaW5saW5pbmcgY29uc3RydWN0b3JzCisg
ICAgICAgIGFuZCBkZXN0cnVjdG9ycyBvZiBwb2x5bW9ycGhpYyBjbGFzc2VzIGlzIGhhcm1mdWwu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdl
YkNvcmUpOiBBZGRlZCBpbmNsdWRlcyBmb3IgYWxsIHRoZSBzdHJhdGVnaWVzLiBUaGlzIG1lYW5z
IHNsaWdodGx5IHNsb3dlcgorICAgICAgICBjb21waWxhdGlvbiBvZiBpbXBsZW1lbnRhdGlvbiBm
aWxlcywgYnV0IHRoZXJlIGFyZSBvbmx5IGEgZmV3IHRoYXQgbmVlZCBzdHJhdGVnaWVzLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpjb29raWVzU3RyYXRlZ3kpOiBKdXN0
IGRvIHdoYXQgZXZlcnkgV2ViS2l0IGRpZC4KKyAgICAgICAgS2VlcGluZyB0aGlzIGZ1bmN0aW9u
IGRlc3BpdGUgYWxsIHN0cmF0ZWd5IG1ldGhvZHMgYmVpbmcgb24gdGhlIGNsYXNzIGl0c2VsZiwK
KyAgICAgICAgYmVjYXVzZSB0aGlzIG1ha2VzIGNhbGwgc2l0ZXMgbW9yZSByZWFkYWJsZS4KKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llczo6cGx1Z2luU3RyYXRlZ3kpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llczo6dmlzaXRlZExpbmtTdHJh
dGVneSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpwYXN0
ZWJvYXJkU3RyYXRlZ3kpOiBEaXR0by4gU29tZSBwb3J0cyB1c2VkIHRvIHJldHVybgorICAgICAg
ICAwIGZyb20gY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCksIGJ1dCB0aGUgc3RyYXRlZ3kgaXMg
ZW1wdHkgZm9yIHRoZW0gYW55d2F5LCBhbmQKKyAgICAgICAgbm90IG9ubHkgZXZlciB1c2VkIGlu
IE1hYyBmaWxlcy4KKwogMjAxMi0xMC0yMiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgICdpbWFnZS9wanBlZycgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gaW1hZ2Ug
YnkgV2ViIEluc3BlY3Rvci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiAr
NTcsMTUgQEAgYm9vbCBoYXNQbGF0Zm9ybVN0cmF0ZWdpZXMoKQogICAgIHJldHVybiBzX3BsYXRm
b3JtU3RyYXRlZ2llczsKIH0KIAorCitQbGF0Zm9ybVN0cmF0ZWdpZXM6On5QbGF0Zm9ybVN0cmF0
ZWdpZXMoKQoreworfQorCitQbGF0Zm9ybVN0cmF0ZWdpZXM6OlBsYXRmb3JtU3RyYXRlZ2llcygp
Cit7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShQTEFURk9S
TV9TVFJBVEVHSUVTKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJh
dGVnaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1T
dHJhdGVnaWVzLmgJKHJldmlzaW9uIDEzMjA3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2NSArMjgsMzggQEAKIAog
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaW5j
bHVkZSAiQ29va2llc1N0cmF0ZWd5LmgiCisjaW5jbHVkZSAiUGFzdGVib2FyZFN0cmF0ZWd5Lmgi
CisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0
ZWd5LmgiCiAKLWNsYXNzIENvb2tpZXNTdHJhdGVneTsKLWNsYXNzIFBhc3RlYm9hcmRTdHJhdGVn
eTsKLWNsYXNzIFBsdWdpblN0cmF0ZWd5OwotY2xhc3MgVmlzaXRlZExpbmtTdHJhdGVneTsKK25h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzIHsKK2NsYXNzIFBs
YXRmb3JtU3RyYXRlZ2llcyA6IHByb3RlY3RlZCBDb29raWVzU3RyYXRlZ3ksIHByb3RlY3RlZCBQ
YXN0ZWJvYXJkU3RyYXRlZ3ksIHByb3RlY3RlZCBQbHVnaW5TdHJhdGVneSwgcHJvdGVjdGVkIFZp
c2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAgIENvb2tpZXNTdHJhdGVneSogY29va2ll
c1N0cmF0ZWd5KCkKICAgICB7Ci0gICAgICAgIGlmICghbV9jb29raWVzU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX2Nvb2tpZXNTdHJhdGVneSA9IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAg
ICAgICByZXR1cm4gbV9jb29raWVzU3RyYXRlZ3k7CisgICAgICAgIHJldHVybiB0aGlzOwogICAg
IH0KIAogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJhdGVneSgpCiAgICAgewotICAgICAg
ICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCi0gICAgICAgICAgICBtX3BsdWdpblN0cmF0ZWd5ID0g
Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICAgICAgcmV0dXJuIG1fcGx1Z2luU3RyYXRlZ3k7
CisgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KIAogICAgIFZpc2l0ZWRMaW5rU3RyYXRlZ3kq
IHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKLSAgICAgICAgaWYgKCFtX3Zpc2l0ZWRMaW5r
U3RyYXRlZ3kpCi0gICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kgPSBjcmVhdGVWaXNp
dGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgICAgIHJldHVybiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7
CisgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KKwogICAgIFBhc3RlYm9hcmRTdHJhdGVneSog
cGFzdGVib2FyZFN0cmF0ZWd5KCkKICAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kpCi0gICAgICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9h
cmRTdHJhdGVneSgpOwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7CisgICAg
ICAgIHJldHVybiB0aGlzOwogICAgIH0KIAogcHJvdGVjdGVkOgotICAgIFBsYXRmb3JtU3RyYXRl
Z2llcygpCi0gICAgICAgIDogbV9jb29raWVzU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3BsdWdp
blN0cmF0ZWd5KDApCi0gICAgICAgICwgbV92aXNpdGVkTGlua1N0cmF0ZWd5KDApCi0gICAgICAg
ICwgbV9wYXN0ZWJvYXJkU3RyYXRlZ3koMCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB+
UGxhdGZvcm1TdHJhdGVnaWVzKCkKLSAgICB7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIHZpcnR1
YWwgQ29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKSA9IDA7Ci0gICAgdmly
dHVhbCBQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSA9IDA7Ci0gICAgdmly
dHVhbCBWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgPSAw
OwotICAgIHZpcnR1YWwgUGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRl
Z3koKSA9IDA7IAotCi0gICAgQ29va2llc1N0cmF0ZWd5KiBtX2Nvb2tpZXNTdHJhdGVneTsKLSAg
ICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5TdHJhdGVneTsKLSAgICBWaXNpdGVkTGlua1N0cmF0
ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAgUGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bh
c3RlYm9hcmRTdHJhdGVneTsKKyAgICBQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKKyAgICB2aXJ0dWFs
IH5QbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKIH07CiAKIFBsYXRmb3JtU3RyYXRlZ2llcyogcGxhdGZv
cm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzIxMzUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0ZWdpZXMgZWFzaWVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwMzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGNvcHkvcGFzdGVkIGNvZGUg
Zm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisKIDIwMTItMTAtMjIgIFN1ZGFy
c2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+CiAKICAgICAgICAg
W0VGTF1bV0syXSBld2tfdmlld19jb2xvcl9waWNrZXJfY29sb3Jfc2V0KCkgaXMgbGVha2luZwpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTMyMDc4
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywyNiArNjMsNiBAQCBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OldlYlBsYXRmb3JtU3RyYXRlCiB7CiB9CiAKLUNvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAg
IHJldHVybiB0aGlzOwotfQotCi1QbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpjcmVhdGVQbHVnaW5TdHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVZpc2l0
ZWRMaW5rU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtT
dHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQotewotICAg
IHJldHVybiB0aGlzOwotfQotCiAvLyBDb29raWVzU3RyYXRlZ3kKIAogdm9pZCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjgsMjcgKzI4LDE3IEBACiAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
IAotI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llc1N0cmF0ZWd5Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyYXRl
Z2llcy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogICAgIAog
cHJpdmF0ZToKICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKICAgICAKLSAgICAvLyBXZWJD
b3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tpZXNTdHJh
dGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5r
U3RyYXRlZ3koKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJh
dGVneSogY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0KICAgICAvLyBXZWJD
b3JlOjpDb29raWVzU3RyYXRlZ3kKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5n
ZWQoKSBPVkVSUklERTsKIApJbmRleDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gMTMyMTM1KQor
KysgU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTYgQEAKKzIwMTItMTAtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisK
KyAgICAgICAgTWFrZSBjcmVhdGluZyBwbGF0Zm9ybSBzdHJhdGVnaWVzIGVhc2llcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDMxCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBjb3B5L3Bh
c3RlZCBjb2RlIGZvciBpbmRpdmlkdWFsIHN0cmF0ZWdpZXMuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oOgorICAgICAgICAoUGxhdGZvcm1TdHJhdGVnaWVz
RWZsKToKKwogMjAxMi0xMC0yMiAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAZ21haWwuY29tPgog
CiAgICAgICAgIFtFRkxdIHBjIGZpbGVzIHNob3VsZCB1c2UgREFUQV9JTlNUQUxMX0RJUiBmb3Ig
ZGF0YWRpcgpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1T
dHJhdGVnaWVzRWZsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3BwCShyZXZpc2lvbiAxMzIwNzgpCisrKyBT
b3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC00NSwyOSArNDUsNiBAQCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6
OlBsYXRmb3JtU3RyYXRlZ2llCiB9CiAKIC8vIENvb2tpZXNTdHJhdGVneQotQ29va2llc1N0cmF0
ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpCi17Ci0g
ICAgcmV0dXJuIHRoaXM7Ci19Ci0KLS8vIFBsdWdpblN0cmF0ZWd5Ci1QbHVnaW5TdHJhdGVneSog
UGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQbHVnaW5TdHJhdGVneSgpCi17Ci0gICAgcmV0
dXJuIHRoaXM7Ci19Ci0KLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc0Vm
bDo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0K
LVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpjcmVhdGVQYXN0ZWJv
YXJkU3RyYXRlZ3koKQotewotICAgIG5vdEltcGxlbWVudGVkKCk7Ci0gICAgcmV0dXJuIDA7Ci19
Ci0KLS8vIENvb2tpZXNTdHJhdGVneQogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6Om5vdGlm
eUNvb2tpZXNDaGFuZ2VkKCkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5oCShyZXZpc2lvbiAx
MzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNFZmwuaAkod29ya2luZyBjb3B5KQpAQCAtMjAsMjUgKzIwLDE1IEBACiAjaWZuZGVmIFBs
YXRmb3JtU3RyYXRlZ2llc0VmbF9oCiAjZGVmaW5lIFBsYXRmb3JtU3RyYXRlZ2llc0VmbF9oCiAK
LSNpbmNsdWRlICJDb29raWVzU3RyYXRlZ3kuaCIKLSNpbmNsdWRlICJQYXN0ZWJvYXJkU3RyYXRl
Z3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIKLSNpbmNsdWRlICJQbHVnaW5T
dHJhdGVneS5oIgotI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRlZ3kuaCIKIAotY2xhc3MgUGxh
dGZvcm1TdHJhdGVnaWVzRWZsIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywg
cHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGx1Z2lu
U3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSB7CitjbGFzcyBQ
bGF0Zm9ybVN0cmF0ZWdpZXNFZmwgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxp
emUoKTsKIAogcHJpdmF0ZToKICAgICBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmwoKTsKIAotICAgIC8v
IFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcwotICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2ll
c1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2Vi
Q29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpOwot
ICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJk
U3RyYXRlZ3koKTsKLQogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1
YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMzIxMzUpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0ZWdp
ZXMgZWFzaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAwMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmVkIGNvcHkvcGFzdGVkIGNvZGUgZm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHA6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzR3RrLmg6CisgICAgICAgIChQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGspOgorCiAyMDEyLTEwLTIyICBKb2NlbHluIFR1cmNvdHRlICA8
am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggIkFTU0VSVElP
TiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFnZQpJ
bmRleDogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVz
R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNywyOCArMzcsNiBAQCBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OlBsYXRmb3Jt
U3RyYXRlZ2llCiB7CiB9CiAKLUNvb2tpZXNTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3Rr
OjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1QbHVn
aW5TdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVQbHVnaW5TdHJhdGVneSgp
Ci17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBsYXRmb3Jt
U3RyYXRlZ2llc0d0azo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgpCi17Ci0gICAgcmV0dXJu
IHRoaXM7Ci19Ci0KLVBhc3RlYm9hcmRTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpj
cmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQotewotICAgIC8vIFRoaXMgaXMgY3VycmVudGx5IHVz
ZWQgb25seSBieSBtYWMgY29kZS4KLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAw
OwotfQotCiAvLyBDb29raWVzU3RyYXRlZ3kKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpu
b3RpZnlDb29raWVzQ2hhbmdlZCgpCiB7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkocmV2aXNpb24g
MTMyMDc4KQorKysgU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzR3RrLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5LDI1ICsxOSwxNSBAQAogI2lmbmRlZiBQ
bGF0Zm9ybVN0cmF0ZWdpZXNHdGtfaAogI2RlZmluZSBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGtfaAog
Ci0jaW5jbHVkZSAiQ29va2llc1N0cmF0ZWd5LmgiCi0jaW5jbHVkZSAiUGFzdGVib2FyZFN0cmF0
ZWd5LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiUGx1Z2lu
U3RyYXRlZ3kuaCIKLSNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBs
YXRmb3JtU3RyYXRlZ2llc0d0ayA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMs
IHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdp
blN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3Mg
UGxhdGZvcm1TdHJhdGVnaWVzR3RrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFs
aXplKCk7CiAKIHByaXZhdGU6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzR3RrKCk7CiAKLSAgICAv
LyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tp
ZXNTdHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3Jl
OjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKTsK
LSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2Fy
ZFN0cmF0ZWd5KCk7Ci0KICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAgICB2aXJ0
dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwko
cmV2aXNpb24gMTMyMTM1KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjIgIEFsZXhleSBQcm9za3VyeWFrb3Yg
IDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBjcmVhdGluZyBwbGF0Zm9ybSBzdHJhdGVn
aWVzIGVhc2llcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAwMDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUmVtb3ZlZCBjb3B5L3Bhc3RlZCBjb2RlIGZvciBpbmRpdmlkdWFsIHN0cmF0ZWdpZXMuCisK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAg
ICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorCiAyMDEyLTEwLTIxICBBbmRyZWFzIEtsaW5nICA8a2xp
bmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgUGFnZTo6amF2YVNjcmlwdFVSTHNBcmVB
bGxvd2VkIHNldHRpbmcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMDc4KQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmgJKHdvcmtpbmcgY29weSkKQEAgLTI2LDI0ICsyNiwxNCBAQAogI2lmbmRlZiBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXNfaAogI2RlZmluZSBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXNfaAogCi0jaW5jbHVk
ZSA8V2ViQ29yZS9Db29raWVzU3RyYXRlZ3kuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9h
cmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+Ci0j
aW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVmlz
aXRlZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJs
aWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNT
dHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3Jl
OjpWaXNpdGVkTGlua1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVn
eSB7CitjbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgewogcHVibGljOgogICAgIHN0YXRpYyB2
b2lkIGluaXRpYWxpemUoKTsKICAgICAKIHByaXZhdGU6CiAgICAgV2ViUGxhdGZvcm1TdHJhdGVn
aWVzKCk7Ci0gICAgCi0gICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCi0gICAgdmly
dHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdp
blN0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0
cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVh
bCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
IE9WRVJSSURFOwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVh
bCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CkluZGV4OiBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLm1tCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0JKHdvcmtpbmcgY29weSkKQEAgLTQ1LDI2ICs0
NSw2IEBAIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6V2ViUGxhdGZvcm1TdHJhdGUKIHsKIH0KIAot
Q29va2llc1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUNvb2tpZXNTdHJh
dGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBsdWdpblN0cmF0ZWd5KiBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhp
czsKLX0KLQotVmlzaXRlZExpbmtTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVh
dGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotUGFzdGVi
b2FyZFN0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVBhc3RlYm9hcmRTdHJh
dGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVn
aWVzOjpub3RpZnlDb29raWVzQ2hhbmdlZCgpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxMzIxMzUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAg
PGFwQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0ZWdp
ZXMgZWFzaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDAwMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW1vdmVkIGNvcHkvcGFzdGVkIGNvZGUgZm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgIChX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorCiAyMDEyLTEwLTIyICBKb2NlbHluIFR1cmNvdHRlICA8
am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggIkFTU0VSVElP
TiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFnZQpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MiwyNiArNDIsNiBAQCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OldlYlBsYXRm
b3JtU3RyYXRlCiAgICAgc2V0UGxhdGZvcm1TdHJhdGVnaWVzKHRoaXMpOwogfQogCi1Db29raWVz
U3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkK
LXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotUGx1Z2luU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQot
Ci1WaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVZpc2l0
ZWRMaW5rU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1QYXN0ZWJvYXJkU3Ry
YXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkK
LXsKLSAgICByZXR1cm4gMDsKLX0KLQogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6Om5vdGlm
eUNvb2tpZXNDaGFuZ2VkKCkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lvbiAx
MzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0
cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsMjMgKzI2LDE0IEBACiAjaWZuZGVmIFdl
YlBsYXRmb3JtU3RyYXRlZ2llc19oCiAjZGVmaW5lIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1TdHJhdGVnaWVzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvVmlzaXRlZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBw
cml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5T
dHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNzIFdl
YlBsYXRmb3JtU3RyYXRlZ2llcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6
ZSgpOwogICAgIAogcHJpdmF0ZToKICAgICBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKLSAgICAK
LSAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKLSAgICB2aXJ0dWFsIFdlYkNvcmU6
OkNvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBX
ZWJDb3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICB2aXJ0
dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRl
Z3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFz
dGVib2FyZFN0cmF0ZWd5KCk7CiAKICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luY2UvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMzIxMzUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIyICBBbGV4ZXkgUHJv
c2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3JlYXRpbmcgcGxhdGZv
cm0gc3RyYXRlZ2llcyBlYXNpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwMDAzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFJlbW92ZWQgY29weS9wYXN0ZWQgY29kZSBmb3IgaW5kaXZpZHVhbCBzdHJh
dGVnaWVzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2lu
Q0UuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNF
Lmg6CisgICAgICAgIChQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRSk6CisKIDIwMTItMTAtMTAgIEpv
biBMZWUgIDxqb25sZWVAYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJdIEFjdGl2YXRlIHBsdWdp
bnMgd2hlbiB1c2VyIGNsaWNrcyBvbiBzbmFwc2hvdApJbmRleDogU291cmNlL1dlYktpdC93aW5j
ZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRS5jcHAJKHJldmlzaW9uIDEzMjA3OCkKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MywyNiArNDMsNiBAQCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6UGxhdGZvcm1TdHJhdGVnCiAg
ICAgc2V0UGxhdGZvcm1TdHJhdGVnaWVzKHRoaXMpOwogfQogCi1Db29raWVzU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAgIHJl
dHVybiB0aGlzOwotfQotCi1QbHVnaW5TdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6
OmNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotVmlzaXRl
ZExpbmtTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0U6OmNyZWF0ZVZpc2l0ZWRMaW5r
U3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1QYXN0ZWJvYXJkU3RyYXRlZ3kq
IFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQotewot
ICAgIHJldHVybiAwOwotfQotCiB2b2lkIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpub3RpZnlD
b29raWVzQ2hhbmdlZCgpCiB7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oCShyZXZp
c2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRm
b3JtU3RyYXRlZ2llc1dpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTI1LDI0ICsyNSwxNSBAQAog
I2lmbmRlZiBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRV9oCiAjZGVmaW5lIFBsYXRmb3JtU3RyYXRl
Z2llc1dpbkNFX2gKIAotI2luY2x1ZGUgIkNvb2tpZXNTdHJhdGVneS5oIgogI2luY2x1ZGUgIlBs
YXRmb3JtU3RyYXRlZ2llcy5oIgotI2luY2x1ZGUgIlBsdWdpblN0cmF0ZWd5LmgiCi0jaW5jbHVk
ZSAiVmlzaXRlZExpbmtTdHJhdGVneS5oIgogCi1jbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RSA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6
Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRl
IFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVz
V2luQ0UgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKIAogcHJpdmF0
ZToKICAgICBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRSgpOwogCi0gICAgLy8gV2ViQ29yZTo6UGxh
dGZvcm1TdHJhdGVnaWVzCi0gICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNy
ZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRl
Z3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVk
TGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBX
ZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwot
CiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIG5vdGlm
eUNvb2tpZXNDaGFuZ2VkKCk7CiAK
</data>
<flag name="commit-queue"
          id="183458"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169998</attachid>
            <date>2012-10-22 15:15:20 -0700</date>
            <delta_ts>2012-10-22 16:26:34 -0700</delta_ts>
            <desc>with build fixes</desc>
            <filename>DontCreateStrategies.txt</filename>
            <type>text/plain</type>
            <size>24950</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjEzNSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDEyLTEwLTIyICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3JlYXRpbmcgcGxh
dGZvcm0gc3RyYXRlZ2llcyBlYXNpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEwMDAzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIERlbGV0ZXMgbXVjaCBjb3B5L3Bhc3RlZCBjb2RlIHRoYXQgd2UgbmV2
ZXIgbmVlZGVkIHRvIGN1c3RvbWl6ZS4KKworICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtU3Ry
YXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXM6On5QbGF0
Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpQ
bGF0Zm9ybVN0cmF0ZWdpZXMpOgorICAgICAgICBNb3ZlZCB0byAuY3BwIGZpbGUuIE5vdCBtdWNo
IGRpZmZlcmVuY2UgaGVyZSwgYnV0IGdlbmVyYWxseSwgaW5saW5pbmcgY29uc3RydWN0b3JzCisg
ICAgICAgIGFuZCBkZXN0cnVjdG9ycyBvZiBwb2x5bW9ycGhpYyBjbGFzc2VzIGlzIGhhcm1mdWwu
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKFdl
YkNvcmUpOiBBZGRlZCBpbmNsdWRlcyBmb3IgYWxsIHRoZSBzdHJhdGVnaWVzLiBUaGlzIG1lYW5z
IHNsaWdodGx5IHNsb3dlcgorICAgICAgICBjb21waWxhdGlvbiBvZiBpbXBsZW1lbnRhdGlvbiBm
aWxlcywgYnV0IHRoZXJlIGFyZSBvbmx5IGEgZmV3IHRoYXQgbmVlZCBzdHJhdGVnaWVzLgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpjb29raWVzU3RyYXRlZ3kpOiBKdXN0
IGRvIHdoYXQgZXZlcnkgV2ViS2l0IGRpZC4KKyAgICAgICAgS2VlcGluZyB0aGlzIGZ1bmN0aW9u
IGRlc3BpdGUgYWxsIHN0cmF0ZWd5IG1ldGhvZHMgYmVpbmcgb24gdGhlIGNsYXNzIGl0c2VsZiwK
KyAgICAgICAgYmVjYXVzZSB0aGlzIG1ha2VzIGNhbGwgc2l0ZXMgbW9yZSByZWFkYWJsZS4KKyAg
ICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llczo6cGx1Z2luU3RyYXRlZ3kpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llczo6dmlzaXRlZExpbmtTdHJh
dGVneSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzOjpwYXN0
ZWJvYXJkU3RyYXRlZ3kpOiBEaXR0by4gU29tZSBwb3J0cyB1c2VkIHRvIHJldHVybgorICAgICAg
ICAwIGZyb20gY3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCksIGJ1dCB0aGUgc3RyYXRlZ3kgaXMg
ZW1wdHkgZm9yIHRoZW0gYW55d2F5LCBhbmQKKyAgICAgICAgbm90IG9ubHkgZXZlciB1c2VkIGlu
IE1hYyBmaWxlcy4KKwogMjAxMi0xMC0yMiAgTWlrZSBXZXN0ICA8bWt3c3RAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgICdpbWFnZS9wanBlZycgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgYW4gaW1hZ2Ug
YnkgV2ViIEluc3BlY3Rvci4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3Jt
U3RyYXRlZ2llcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiAr
NTcsMTUgQEAgYm9vbCBoYXNQbGF0Zm9ybVN0cmF0ZWdpZXMoKQogICAgIHJldHVybiBzX3BsYXRm
b3JtU3RyYXRlZ2llczsKIH0KIAorCitQbGF0Zm9ybVN0cmF0ZWdpZXM6On5QbGF0Zm9ybVN0cmF0
ZWdpZXMoKQoreworfQorCitQbGF0Zm9ybVN0cmF0ZWdpZXM6OlBsYXRmb3JtU3RyYXRlZ2llcygp
Cit7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIFVTRShQTEFURk9S
TV9TVFJBVEVHSUVTKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1TdHJh
dGVnaWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1T
dHJhdGVnaWVzLmgJKHJldmlzaW9uIDEzMjA3OCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1BsYXRmb3JtU3RyYXRlZ2llcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2NSArMjgsMzggQEAKIAog
I2lmIFVTRShQTEFURk9STV9TVFJBVEVHSUVTKQogCi1uYW1lc3BhY2UgV2ViQ29yZSB7CisjaW5j
bHVkZSAiQ29va2llc1N0cmF0ZWd5LmgiCisjaW5jbHVkZSAiUGFzdGVib2FyZFN0cmF0ZWd5Lmgi
CisjaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJWaXNpdGVkTGlua1N0cmF0
ZWd5LmgiCiAKLWNsYXNzIENvb2tpZXNTdHJhdGVneTsKLWNsYXNzIFBhc3RlYm9hcmRTdHJhdGVn
eTsKLWNsYXNzIFBsdWdpblN0cmF0ZWd5OwotY2xhc3MgVmlzaXRlZExpbmtTdHJhdGVneTsKK25h
bWVzcGFjZSBXZWJDb3JlIHsKIAotY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzIHsKK2NsYXNzIFBs
YXRmb3JtU3RyYXRlZ2llcyA6IHByb3RlY3RlZCBDb29raWVzU3RyYXRlZ3ksIHByb3RlY3RlZCBQ
YXN0ZWJvYXJkU3RyYXRlZ3ksIHByb3RlY3RlZCBQbHVnaW5TdHJhdGVneSwgcHJvdGVjdGVkIFZp
c2l0ZWRMaW5rU3RyYXRlZ3kgewogcHVibGljOgogICAgIENvb2tpZXNTdHJhdGVneSogY29va2ll
c1N0cmF0ZWd5KCkKICAgICB7Ci0gICAgICAgIGlmICghbV9jb29raWVzU3RyYXRlZ3kpCi0gICAg
ICAgICAgICBtX2Nvb2tpZXNTdHJhdGVneSA9IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAg
ICAgICByZXR1cm4gbV9jb29raWVzU3RyYXRlZ3k7CisgICAgICAgIHJldHVybiB0aGlzOwogICAg
IH0KIAogICAgIFBsdWdpblN0cmF0ZWd5KiBwbHVnaW5TdHJhdGVneSgpCiAgICAgewotICAgICAg
ICBpZiAoIW1fcGx1Z2luU3RyYXRlZ3kpCi0gICAgICAgICAgICBtX3BsdWdpblN0cmF0ZWd5ID0g
Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICAgICAgcmV0dXJuIG1fcGx1Z2luU3RyYXRlZ3k7
CisgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KIAogICAgIFZpc2l0ZWRMaW5rU3RyYXRlZ3kq
IHZpc2l0ZWRMaW5rU3RyYXRlZ3koKQogICAgIHsKLSAgICAgICAgaWYgKCFtX3Zpc2l0ZWRMaW5r
U3RyYXRlZ3kpCi0gICAgICAgICAgICBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3kgPSBjcmVhdGVWaXNp
dGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgICAgIHJldHVybiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7
CisgICAgICAgIHJldHVybiB0aGlzOwogICAgIH0KKwogICAgIFBhc3RlYm9hcmRTdHJhdGVneSog
cGFzdGVib2FyZFN0cmF0ZWd5KCkKICAgICB7Ci0gICAgICAgIGlmICghbV9wYXN0ZWJvYXJkU3Ry
YXRlZ3kpCi0gICAgICAgICAgICBtX3Bhc3RlYm9hcmRTdHJhdGVneSA9IGNyZWF0ZVBhc3RlYm9h
cmRTdHJhdGVneSgpOwotICAgICAgICByZXR1cm4gbV9wYXN0ZWJvYXJkU3RyYXRlZ3k7CisgICAg
ICAgIHJldHVybiB0aGlzOwogICAgIH0KIAogcHJvdGVjdGVkOgotICAgIFBsYXRmb3JtU3RyYXRl
Z2llcygpCi0gICAgICAgIDogbV9jb29raWVzU3RyYXRlZ3koMCkKLSAgICAgICAgLCBtX3BsdWdp
blN0cmF0ZWd5KDApCi0gICAgICAgICwgbV92aXNpdGVkTGlua1N0cmF0ZWd5KDApCi0gICAgICAg
ICwgbV9wYXN0ZWJvYXJkU3RyYXRlZ3koMCkKLSAgICB7Ci0gICAgfQotCi0gICAgdmlydHVhbCB+
UGxhdGZvcm1TdHJhdGVnaWVzKCkKLSAgICB7Ci0gICAgfQotCi1wcml2YXRlOgotICAgIHZpcnR1
YWwgQ29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKSA9IDA7Ci0gICAgdmly
dHVhbCBQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKSA9IDA7Ci0gICAgdmly
dHVhbCBWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgPSAw
OwotICAgIHZpcnR1YWwgUGFzdGVib2FyZFN0cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRl
Z3koKSA9IDA7IAotCi0gICAgQ29va2llc1N0cmF0ZWd5KiBtX2Nvb2tpZXNTdHJhdGVneTsKLSAg
ICBQbHVnaW5TdHJhdGVneSogbV9wbHVnaW5TdHJhdGVneTsKLSAgICBWaXNpdGVkTGlua1N0cmF0
ZWd5KiBtX3Zpc2l0ZWRMaW5rU3RyYXRlZ3k7Ci0gICAgUGFzdGVib2FyZFN0cmF0ZWd5KiBtX3Bh
c3RlYm9hcmRTdHJhdGVneTsKKyAgICBQbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKKyAgICB2aXJ0dWFs
IH5QbGF0Zm9ybVN0cmF0ZWdpZXMoKTsKIH07CiAKIFBsYXRmb3JtU3RyYXRlZ2llcyogcGxhdGZv
cm1TdHJhdGVnaWVzKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMzIxMzUpCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBN
YWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0ZWdpZXMgZWFzaWVyCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAwMzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmVkIGNvcHkvcGFzdGVkIGNvZGUg
Zm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcDoKKyAgICAgICAgKFdlYktpdCk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aDoKKyAgICAgICAgKFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisKIDIwMTItMTAtMjIgIFN1ZGFy
c2FuYSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+CiAKICAgICAgICAg
W0VGTF1bV0syXSBld2tfdmlld19jb2xvcl9waWNrZXJfY29sb3Jfc2V0KCkgaXMgbGVha2luZwpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAkocmV2aXNpb24gMTMyMDc4
KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywyNiArNjMsNiBAQCBXZWJQbGF0
Zm9ybVN0cmF0ZWdpZXM6OldlYlBsYXRmb3JtU3RyYXRlCiB7CiB9CiAKLUNvb2tpZXNTdHJhdGVn
eSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAg
IHJldHVybiB0aGlzOwotfQotCi1QbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpjcmVhdGVQbHVnaW5TdHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVZpc2l0
ZWRMaW5rU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtT
dHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBhc3RlYm9hcmRTdHJhdGVneSog
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQotewotICAg
IHJldHVybiB0aGlzOwotfQotCiAvLyBDb29raWVzU3RyYXRlZ3kKIAogdm9pZCBXZWJQbGF0Zm9y
bVN0cmF0ZWdpZXM6Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkod29ya2luZyBj
b3B5KQpAQCAtMjgsMjcgKzI4LDE3IEBACiAKICNpZiBVU0UoUExBVEZPUk1fU1RSQVRFR0lFUykK
IAotI2luY2x1ZGUgPFdlYkNvcmUvQ29va2llc1N0cmF0ZWd5Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9QYXN0ZWJvYXJkU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyYXRl
Z2llcy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUGx1Z2luU3RyYXRlZ3kuaD4KLSNpbmNsdWRlIDxX
ZWJDb3JlL1Zpc2l0ZWRMaW5rU3RyYXRlZ3kuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLWNs
YXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0
ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6
OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGFzdGVib2FyZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMgewogcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKIHByaXZhdGU6CiAgICAgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzKCk7CiAgICAgCi0gICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVn
aWVzCi0gICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNT
dHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kq
IGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpW
aXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9h
cmRTdHJhdGVneSgpIE9WRVJSSURFOwotCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5
CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkgT1ZFUlJJREU7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjEzNSkKKysrIFNvdXJjZS9XZWJLaXQvZWZs
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIyICBB
bGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3JlYXRp
bmcgcGxhdGZvcm0gc3RyYXRlZ2llcyBlYXNpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMDAzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgY29weS9wYXN0ZWQgY29kZSBmb3IgaW5kaXZp
ZHVhbCBzdHJhdGVnaWVzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdp
ZXNFZmwuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0VmbCk6CisKIDIwMTItMTAtMjIg
IFJ5dWFuIENob2kgIDxyeXVhbi5jaG9pQGdtYWlsLmNvbT4KIAogICAgICAgICBbRUZMXSBwYyBm
aWxlcyBzaG91bGQgdXNlIERBVEFfSU5TVEFMTF9ESVIgZm9yIGRhdGFkaXIKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0VmbC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJh
dGVnaWVzRWZsLmNwcAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dlYktpdC9lZmwvV2Vi
Q29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDUsMjkgKzQ1LDYgQEAgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpQbGF0Zm9ybVN0cmF0ZWdpZQog
fQogCiAvLyBDb29raWVzU3RyYXRlZ3kKLUNvb2tpZXNTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVn
aWVzRWZsOjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQot
Ci0vLyBQbHVnaW5TdHJhdGVneQotUGx1Z2luU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc0Vm
bDo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1WaXNp
dGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmw6OmNyZWF0ZVZpc2l0ZWRMaW5r
U3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1QYXN0ZWJvYXJkU3RyYXRlZ3kq
IFBsYXRmb3JtU3RyYXRlZ2llc0VmbDo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKLXsKLSAg
ICBub3RJbXBsZW1lbnRlZCgpOwotICAgIHJldHVybiAwOwotfQotCi0vLyBDb29raWVzU3RyYXRl
Z3kKIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzRWZsOjpub3RpZnlDb29raWVzQ2hhbmdlZCgpCiB7
CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0
ZWdpZXNFZmwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9y
dC9QbGF0Zm9ybVN0cmF0ZWdpZXNFZmwuaAkocmV2aXNpb24gMTMyMDc4KQorKysgU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzRWZsLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIwLDI1ICsyMCwxNSBAQAogI2lmbmRlZiBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmxf
aAogI2RlZmluZSBQbGF0Zm9ybVN0cmF0ZWdpZXNFZmxfaAogCi0jaW5jbHVkZSAiQ29va2llc1N0
cmF0ZWd5LmgiCi0jaW5jbHVkZSAiUGFzdGVib2FyZFN0cmF0ZWd5LmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJhdGVnaWVzLmgiCi0jaW5jbHVkZSAiUGx1Z2luU3RyYXRlZ3kuaCIKLSNpbmNsdWRl
ICJWaXNpdGVkTGlua1N0cmF0ZWd5LmgiCiAKLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc0VmbCA6
IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29v
a2llc1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBsdWdpblN0cmF0ZWd5LCBwcml2YXRlIFdl
YkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kgeworY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzRWZs
IDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcyB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIHZvaWQgaW5pdGlhbGl6ZSgpOwogCiBwcml2YXRlOgogICAgIFBsYXRmb3JtU3RyYXRlZ2ll
c0VmbCgpOwogCi0gICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCi0gICAgdmlydHVh
bCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAg
IHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7
Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVk
TGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kq
IGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpOwotCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0
cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNvb2tpZXNDaGFuZ2VkKCk7CiAKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjEzNSkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTEwLTIyICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1ha2UgY3JlYXRpbmcg
cGxhdGZvcm0gc3RyYXRlZ2llcyBlYXNpZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMDAzMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbW92ZWQgY29weS9wYXN0ZWQgY29kZSBmb3IgaW5kaXZpZHVh
bCBzdHJhdGVnaWVzLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVn
aWVzR3RrLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNH
dGsuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc0d0ayk6CisKIDIwMTItMTAtMjIgIEpv
Y2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQGRpZ2lhLmNvbT4KIAogICAgICAgICBb
UXRdIEZpeCAiQVNTRVJUSU9OIEZBSUxFRDogIWRvY3VtZW50LT5pblBhZ2VDYWNoZSgpIiB3aGVu
IGxvYWRpbmcgYSBwYWdlCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5jcHAJKHJldmlzaW9uIDEzMjA3
OCkKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0d0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3LDI4ICszNyw2IEBAIFBsYXRmb3JtU3RyYXRl
Z2llc0d0azo6UGxhdGZvcm1TdHJhdGVnaWUKIHsKIH0KIAotQ29va2llc1N0cmF0ZWd5KiBQbGF0
Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpCi17Ci0gICAgcmV0dXJu
IHRoaXM7Ci19Ci0KLVBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGs6OmNyZWF0
ZVBsdWdpblN0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotVmlzaXRlZExpbmtT
dHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzR3RrOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5
KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9y
bVN0cmF0ZWdpZXNHdGs6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCi17Ci0gICAgLy8gVGhp
cyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGJ5IG1hYyBjb2RlLgotICAgIG5vdEltcGxlbWVudGVk
KCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIC8vIENvb2tpZXNTdHJhdGVneQogdm9pZCBQbGF0Zm9y
bVN0cmF0ZWdpZXNHdGs6Om5vdGlmeUNvb2tpZXNDaGFuZ2VkKCkKIHsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc0d0ay5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2ll
c0d0ay5oCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3Vw
cG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNHdGsuaAkod29ya2luZyBjb3B5KQpAQCAtMTksMjUgKzE5
LDE1IEBACiAjaWZuZGVmIFBsYXRmb3JtU3RyYXRlZ2llc0d0a19oCiAjZGVmaW5lIFBsYXRmb3Jt
U3RyYXRlZ2llc0d0a19oCiAKLSNpbmNsdWRlICJDb29raWVzU3RyYXRlZ3kuaCIKLSNpbmNsdWRl
ICJQYXN0ZWJvYXJkU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCIK
LSNpbmNsdWRlICJQbHVnaW5TdHJhdGVneS5oIgotI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3RyYXRl
Z3kuaCIKIAotY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzR3RrIDogcHVibGljIFdlYkNvcmU6OlBs
YXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZh
dGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExpbmtT
dHJhdGVneSB7CitjbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNHdGsgOiBwdWJsaWMgV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXpl
KCk7CiAKIHByaXZhdGU6CiAgICAgUGxhdGZvcm1TdHJhdGVnaWVzR3RrKCk7CiAKLSAgICAvLyBX
ZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OkNvb2tpZXNT
dHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpQ
bHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICB2aXJ0dWFsIFdlYkNv
cmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRlZ3koKTsKLSAg
ICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFzdGVib2FyZFN0
cmF0ZWd5KCk7Ci0KICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAgICB2aXJ0dWFs
IHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2
aXNpb24gMTMyMTM1KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTItMTAtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxh
cEBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBjcmVhdGluZyBwbGF0Zm9ybSBzdHJhdGVnaWVz
IGVhc2llcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAwMDMxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVtb3ZlZCBjb3B5L3Bhc3RlZCBjb2RlIGZvciBpbmRpdmlkdWFsIHN0cmF0ZWdpZXMuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAg
KFdlYlBsYXRmb3JtU3RyYXRlZ2llcyk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLm1tOgorCiAyMDEyLTEwLTIxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgUGFnZTo6amF2YVNjcmlwdFVSTHNBcmVBbGxv
d2VkIHNldHRpbmcuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAkocmV2aXNpb24gMTMyMDc4KQorKysg
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDI0ICsyNiwxNCBAQAogI2lmbmRlZiBXZWJQbGF0Zm9ybVN0
cmF0ZWdpZXNfaAogI2RlZmluZSBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXNfaAogCi0jaW5jbHVkZSA8
V2ViQ29yZS9Db29raWVzU3RyYXRlZ3kuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1Bhc3RlYm9hcmRT
dHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVneS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVmlzaXRl
ZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMg
V2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJh
dGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpW
aXNpdGVkTGlua1N0cmF0ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSB7
CitjbGFzcyBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1T
dHJhdGVnaWVzIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7CiAgICAg
CiBwcml2YXRlOgogICAgIFdlYlBsYXRmb3JtU3RyYXRlZ2llcygpOwotICAgIAotICAgIC8vIFdl
YkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcwotICAgIHZpcnR1YWwgV2ViQ29yZTo6Q29va2llc1N0
cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3koKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIFdl
YkNvcmU6OlBsdWdpblN0cmF0ZWd5KiBjcmVhdGVQbHVnaW5TdHJhdGVneSgpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgV2ViQ29yZTo6VmlzaXRlZExpbmtTdHJhdGVneSogY3JlYXRlVmlzaXRlZExp
bmtTdHJhdGVneSgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGFzdGVib2FyZFN0
cmF0ZWd5KiBjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKSBPVkVSUklERTsKIAogICAgIC8vIFdl
YkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hh
bmdlZCgpIE9WRVJSSURFOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFj
L1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5tbQkocmV2aXNpb24gMTMyMDc4
KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00NSwyNiArNDUsNiBAQCBXZWJQbGF0Zm9ybVN0cmF0
ZWdpZXM6OldlYlBsYXRmb3JtU3RyYXRlCiB7CiB9CiAKLUNvb2tpZXNTdHJhdGVneSogV2ViUGxh
dGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVDb29raWVzU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0
aGlzOwotfQotCi1QbHVnaW5TdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQ
bHVnaW5TdHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVZpc2l0ZWRMaW5rU3Ry
YXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlVmlzaXRlZExpbmtTdHJhdGVneSgp
Ci17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBhc3RlYm9hcmRTdHJhdGVneSogV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpjcmVhdGVQYXN0ZWJvYXJkU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0
aGlzOwotfQotCiB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6bm90aWZ5Q29va2llc0NoYW5n
ZWQoKQogewogfQpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjE0MSkKKysrIFNvdXJj
ZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTItMTAtMjIgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CisKKyAgICAgICAg
TWFrZSBjcmVhdGluZyBwbGF0Zm9ybSBzdHJhdGVnaWVzIGVhc2llcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAwMDMxCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlZCBjb3B5L3Bhc3RlZCBjb2Rl
IGZvciBpbmRpdmlkdWFsIHN0cmF0ZWdpZXMuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9Q
bGF0Zm9ybVN0cmF0ZWdpZXNRdC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvUGxhdGZv
cm1TdHJhdGVnaWVzUXQuaDoKKyAgICAgICAgKFBsYXRmb3JtU3RyYXRlZ2llc1F0KToKKwogMjAx
Mi0xMC0yMiAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBkaWdpYS5jb20+CiAKICAg
ICAgICAgW1F0XSBGaXggYnVpbGQgd2l0aG91dCBRdFdpZGdldHMKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQu
Y3BwCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTgsMjYgKzU4LDYg
QEAgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OlBsYXRmb3JtU3RyYXRlZ2llcwogfQogCiAKLUNvb2tp
ZXNTdHJhdGVneSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZUNvb2tpZXNTdHJhdGVneSgp
Ci17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBsdWdpblN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0
ZWdpZXNRdDo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQot
Ci1WaXNpdGVkTGlua1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNRdDo6Y3JlYXRlVmlzaXRl
ZExpbmtTdHJhdGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVBhc3RlYm9hcmRTdHJh
dGVneSogUGxhdGZvcm1TdHJhdGVnaWVzUXQ6OmNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpCi17
Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIHZvaWQgUGxhdGZvcm1TdHJhdGVnaWVzUXQ6Om5vdGlmeUNv
b2tpZXNDaGFuZ2VkKCkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1F0LmgJKHJldmlzaW9uIDEzMjA3OCkK
KysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzUXQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsMjkgKzI4LDE1IEBACiAjaWZuZGVmIFBsYXRmb3JtU3Ry
YXRlZ2llc1F0X2gKICNkZWZpbmUgUGxhdGZvcm1TdHJhdGVnaWVzUXRfaAogCi0jaW5jbHVkZSA8
Q29va2llc1N0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8UGxhdGZvcm1TdHJhdGVnaWVzLmg+Ci0jaW5j
bHVkZSA8UGx1Z2luU3RyYXRlZ3kuaD4KLSNpbmNsdWRlIDxWaXNpdGVkTGlua1N0cmF0ZWd5Lmg+
CiAKLW5hbWVzcGFjZSBXZWJDb3JlIHsKLWNsYXNzIFBhZ2U7Ci1jbGFzcyBQYXN0ZWJvYXJkU3Ry
YXRlZ3k7Ci19Ci0KLWNsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc1F0IDogcHVibGljIFdlYkNvcmU6
OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJpdmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHBy
aXZhdGUgV2ViQ29yZTo6UGx1Z2luU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6VmlzaXRlZExp
bmtTdHJhdGVneSB7CitjbGFzcyBQbGF0Zm9ybVN0cmF0ZWdpZXNRdCA6IHB1YmxpYyBXZWJDb3Jl
OjpQbGF0Zm9ybVN0cmF0ZWdpZXMgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxp
emUoKTsKIAogcHJpdmF0ZToKICAgICBQbGF0Zm9ybVN0cmF0ZWdpZXNRdCgpOwogCi0gICAgLy8g
V2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCi0gICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVz
U3RyYXRlZ3kqIGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6
UGx1Z2luU3RyYXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJD
b3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7Ci0g
ICAgdmlydHVhbCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRT
dHJhdGVneSgpOwotICAgIAogICAgIC8vIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneQogICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlDb29raWVzQ2hhbmdlZCgpOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
L3dpbi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9n
CShyZXZpc2lvbiAxMzIxMzUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtv
diAgPGFwQGFwcGxlLmNvbT4KKworICAgICAgICBNYWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0
ZWdpZXMgZWFzaWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDAwMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBSZW1vdmVkIGNvcHkvcGFzdGVkIGNvZGUgZm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4K
KworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAg
IChXZWJQbGF0Zm9ybVN0cmF0ZWdpZXMpOgorCiAyMDEyLTEwLTIyICBKb2NlbHluIFR1cmNvdHRl
ICA8am9jZWx5bi50dXJjb3R0ZUBkaWdpYS5jb20+CiAKICAgICAgICAgW1F0XSBGaXggIkFTU0VS
VElPTiBGQUlMRUQ6ICFkb2N1bWVudC0+aW5QYWdlQ2FjaGUoKSIgd2hlbiBsb2FkaW5nIGEgcGFn
ZQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCShyZXZpc2lvbiAxMzIwNzgpCisrKyBTb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MiwyNiArNDIsNiBAQCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OldlYlBs
YXRmb3JtU3RyYXRlCiAgICAgc2V0UGxhdGZvcm1TdHJhdGVnaWVzKHRoaXMpOwogfQogCi1Db29r
aWVzU3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5
KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQotUGx1Z2luU3RyYXRlZ3kqIFdlYlBsYXRmb3Jt
U3RyYXRlZ2llczo6Y3JlYXRlUGx1Z2luU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwot
fQotCi1WaXNpdGVkTGlua1N0cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVZp
c2l0ZWRMaW5rU3RyYXRlZ3koKQotewotICAgIHJldHVybiB0aGlzOwotfQotCi1QYXN0ZWJvYXJk
U3RyYXRlZ3kqIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5
KCkKLXsKLSAgICByZXR1cm4gMDsKLX0KLQogdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6Om5v
dGlmeUNvb2tpZXNDaGFuZ2VkKCkKIHsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCShyZXZpc2lv
biAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9y
bVN0cmF0ZWdpZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsMjMgKzI2LDE0IEBACiAjaWZuZGVm
IFdlYlBsYXRmb3JtU3RyYXRlZ2llc19oCiAjZGVmaW5lIFdlYlBsYXRmb3JtU3RyYXRlZ2llc19o
CiAKLSNpbmNsdWRlIDxXZWJDb3JlL0Nvb2tpZXNTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1TdHJhdGVnaWVzLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbHVnaW5TdHJhdGVn
eS5oPgotI2luY2x1ZGUgPFdlYkNvcmUvVmlzaXRlZExpbmtTdHJhdGVneS5oPgogCi1jbGFzcyBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVnaWVz
LCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpQbHVn
aW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVkTGlua1N0cmF0ZWd5IHsKK2NsYXNz
IFdlYlBsYXRmb3JtU3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdp
ZXMgewogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxpemUoKTsKICAgICAKIHByaXZh
dGU6CiAgICAgV2ViUGxhdGZvcm1TdHJhdGVnaWVzKCk7Ci0gICAgCi0gICAgLy8gV2ViQ29yZTo6
UGxhdGZvcm1TdHJhdGVnaWVzCi0gICAgdmlydHVhbCBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kq
IGNyZWF0ZUNvb2tpZXNTdHJhdGVneSgpOwotICAgIHZpcnR1YWwgV2ViQ29yZTo6UGx1Z2luU3Ry
YXRlZ3kqIGNyZWF0ZVBsdWdpblN0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpWaXNp
dGVkTGlua1N0cmF0ZWd5KiBjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVh
bCBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgp
OwogCiAgICAgLy8gV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5CiAgICAgdmlydHVhbCB2b2lkIG5v
dGlmeUNvb2tpZXNDaGFuZ2VkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24g
MTMyMTM1KQorKysgU291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNiBAQAorMjAxMi0xMC0yMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFw
cGxlLmNvbT4KKworICAgICAgICBNYWtlIGNyZWF0aW5nIHBsYXRmb3JtIHN0cmF0ZWdpZXMgZWFz
aWVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDAw
MzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1v
dmVkIGNvcHkvcGFzdGVkIGNvZGUgZm9yIGluZGl2aWR1YWwgc3RyYXRlZ2llcy4KKworICAgICAg
ICAqIFdlYkNvcmVTdXBwb3J0L1BsYXRmb3JtU3RyYXRlZ2llc1dpbkNFLmNwcDoKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRS5oOgorICAgICAgICAoUGxh
dGZvcm1TdHJhdGVnaWVzV2luQ0UpOgorCiAyMDEyLTEwLTEwICBKb24gTGVlICA8am9ubGVlQGFw
cGxlLmNvbT4KIAogICAgICAgICBbV0syXSBBY3RpdmF0ZSBwbHVnaW5zIHdoZW4gdXNlciBjbGlj
a3Mgb24gc25hcHNob3QKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQv
UGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d2luY2UvV2ViQ29yZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuY3BwCShyZXZpc2lv
biAxMzIwNzgpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L1BsYXRmb3Jt
U3RyYXRlZ2llc1dpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsMjYgKzQzLDYgQEAgUGxh
dGZvcm1TdHJhdGVnaWVzV2luQ0U6OlBsYXRmb3JtU3RyYXRlZwogICAgIHNldFBsYXRmb3JtU3Ry
YXRlZ2llcyh0aGlzKTsKIH0KIAotQ29va2llc1N0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdpZXNX
aW5DRTo6Y3JlYXRlQ29va2llc1N0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gdGhpczsKLX0KLQot
UGx1Z2luU3RyYXRlZ3kqIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVQbHVnaW5TdHJh
dGVneSgpCi17Ci0gICAgcmV0dXJuIHRoaXM7Ci19Ci0KLVZpc2l0ZWRMaW5rU3RyYXRlZ3kqIFBs
YXRmb3JtU3RyYXRlZ2llc1dpbkNFOjpjcmVhdGVWaXNpdGVkTGlua1N0cmF0ZWd5KCkKLXsKLSAg
ICByZXR1cm4gdGhpczsKLX0KLQotUGFzdGVib2FyZFN0cmF0ZWd5KiBQbGF0Zm9ybVN0cmF0ZWdp
ZXNXaW5DRTo6Y3JlYXRlUGFzdGVib2FyZFN0cmF0ZWd5KCkKLXsKLSAgICByZXR1cm4gMDsKLX0K
LQogdm9pZCBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRTo6bm90aWZ5Q29va2llc0NoYW5nZWQoKQog
ewogfQpJbmRleDogU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0
cmF0ZWdpZXNXaW5DRS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29y
ZVN1cHBvcnQvUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UuaAkocmV2aXNpb24gMTMyMDc4KQorKysg
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9QbGF0Zm9ybVN0cmF0ZWdpZXNXaW5D
RS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNSwyNCArMjUsMTUgQEAKICNpZm5kZWYgUGxhdGZvcm1T
dHJhdGVnaWVzV2luQ0VfaAogI2RlZmluZSBQbGF0Zm9ybVN0cmF0ZWdpZXNXaW5DRV9oCiAKLSNp
bmNsdWRlICJDb29raWVzU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmF0ZWdpZXMu
aCIKLSNpbmNsdWRlICJQbHVnaW5TdHJhdGVneS5oIgotI2luY2x1ZGUgIlZpc2l0ZWRMaW5rU3Ry
YXRlZ3kuaCIKIAotY2xhc3MgUGxhdGZvcm1TdHJhdGVnaWVzV2luQ0UgOiBwdWJsaWMgV2ViQ29y
ZTo6UGxhdGZvcm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OkNvb2tpZXNTdHJhdGVneSwg
cHJpdmF0ZSBXZWJDb3JlOjpQbHVnaW5TdHJhdGVneSwgcHJpdmF0ZSBXZWJDb3JlOjpWaXNpdGVk
TGlua1N0cmF0ZWd5IHsKK2NsYXNzIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFIDogcHVibGljIFdl
YkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcyB7CiBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5p
dGlhbGl6ZSgpOwogCiBwcml2YXRlOgogICAgIFBsYXRmb3JtU3RyYXRlZ2llc1dpbkNFKCk7CiAK
LSAgICAvLyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMKLSAgICB2aXJ0dWFsIFdlYkNvcmU6
OkNvb2tpZXNTdHJhdGVneSogY3JlYXRlQ29va2llc1N0cmF0ZWd5KCk7Ci0gICAgdmlydHVhbCBX
ZWJDb3JlOjpQbHVnaW5TdHJhdGVneSogY3JlYXRlUGx1Z2luU3RyYXRlZ3koKTsKLSAgICB2aXJ0
dWFsIFdlYkNvcmU6OlZpc2l0ZWRMaW5rU3RyYXRlZ3kqIGNyZWF0ZVZpc2l0ZWRMaW5rU3RyYXRl
Z3koKTsKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSogY3JlYXRlUGFz
dGVib2FyZFN0cmF0ZWd5KCk7Ci0KICAgICAvLyBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3kKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q29va2llc0NoYW5nZWQoKTsKIAo=
</data>
<flag name="review"
          id="183466"
          type_id="1"
          status="+"
          setter="beidson"
    />
    <flag name="commit-queue"
          id="183488"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>