<?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>100418</bug_id>
          
          <creation_ts>2012-10-25 14:48:54 -0700</creation_ts>
          <short_desc>Move SharedWorkerRepository functions out of DefaultSharedWorkerRepository</short_desc>
          <delta_ts>2013-03-11 19:26:34 -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>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>gustavo</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>philn</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>751228</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-25 14:48:54 -0700</bug_when>
    <thetext>...because that&apos;s a different class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751236</commentid>
    <comment_count>1</comment_count>
      <attachid>170734</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-25 14:53:58 -0700</bug_when>
    <thetext>Created attachment 170734
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751289</commentid>
    <comment_count>2</comment_count>
      <attachid>170747</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-25 15:40:00 -0700</bug_when>
    <thetext>Created attachment 170747
Updated to apply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751293</commentid>
    <comment_count>3</comment_count>
      <attachid>170747</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-25 15:43:02 -0700</bug_when>
    <thetext>Comment on attachment 170747
Updated to apply

Attachment 170747 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14563752</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751296</commentid>
    <comment_count>4</comment_count>
      <attachid>170747</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-10-25 15:45:23 -0700</bug_when>
    <thetext>Comment on attachment 170747
Updated to apply

Attachment 170747 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14545777</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751312</commentid>
    <comment_count>5</comment_count>
      <attachid>170747</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-25 16:00:18 -0700</bug_when>
    <thetext>Comment on attachment 170747
Updated to apply

Attachment 170747 did not pass win-ews (win):
Output: http://queues.webkit.org/results/14543831</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751314</commentid>
    <comment_count>6</comment_count>
      <attachid>170758</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-25 16:03:43 -0700</bug_when>
    <thetext>Created attachment 170758
with build fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751319</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-25 16:07:27 -0700</bug_when>
    <thetext>Attachment 170758 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/W...&quot; exit_code: 1
Source/WebCore/workers/SharedWorkerRepository.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752442</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-26 14:51:04 -0700</bug_when>
    <thetext>Ping reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852793</commentid>
    <comment_count>9</comment_count>
      <attachid>192577</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-11 15:32:19 -0700</bug_when>
    <thetext>Created attachment 192577
updated to ToT

Updated to ToT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852797</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 15:35:06 -0700</bug_when>
    <thetext>Attachment 192577 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/CMakeLists.txt&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/GNUmakefile.list.am&apos;, u&apos;Source/WebCore/Target.pri&apos;, u&apos;Source/WebCore/WebCore.gyp/WebCore.gyp&apos;, u&apos;Source/WebCore/WebCore.gypi&apos;, u&apos;Source/WebCore/WebCore.vcproj/WebCore.vcproj&apos;, u&apos;Source/WebCore/WebCore.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebCore/workers/DefaultSharedWorkerRepository.cpp&apos;, u&apos;Source/WebCore/workers/SharedWorkerRepository.cpp&apos;]&quot; exit_code: 1
Source/WebCore/workers/SharedWorkerRepository.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852801</commentid>
    <comment_count>11</comment_count>
      <attachid>192577</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2013-03-11 15:36:32 -0700</bug_when>
    <thetext>Comment on attachment 192577
updated to ToT

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

&gt; Source/WebCore/workers/SharedWorkerRepository.cpp:35
&gt; +#include &quot;DefaultSharedWorkerRepository.h&quot;
&gt; +#include &quot;SharedWorker.h&quot;
&gt; +#include &quot;MessagePortChannel.h&quot;

SORTING</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>852915</commentid>
    <comment_count>12</comment_count>
      <attachid>192605</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-11 17:28:52 -0700</bug_when>
    <thetext>Created attachment 192605
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853006</commentid>
    <comment_count>13</comment_count>
      <attachid>192605</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 19:26:29 -0700</bug_when>
    <thetext>Comment on attachment 192605
patch for landing

Clearing flags on attachment: 192605

Committed r145466: &lt;http://trac.webkit.org/changeset/145466&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>853007</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-11 19:26:34 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170734</attachid>
            <date>2012-10-25 14:53:58 -0700</date>
            <delta_ts>2012-10-25 15:40:00 -0700</delta_ts>
            <desc>proposed patch</desc>
            <filename>repository.cpp.txt</filename>
            <type>text/plain</type>
            <size>15160</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjUzOCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTI1ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSBmdW5jdGlvbnMgb3V0IG9mIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZGVkIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICBDaHJvbWl1bSB1c2VzIFdl
YktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW5zdGVhZCBvZgor
ICAgICAgICBXZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
LiBOb3Qgc3VyZSB3aHkgaXQncyBhZGRlZCBhbmQKKyAgICAgICAgdGhlbiBleGNsdWRlZCwgYnV0
IGRpZCB0aGUgc2FtZSB3aXRoIHRoZSBuZXcgU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAsIHdo
aWNoCisgICAgICAgIGp1c3QgY29udGFpbnMgc29tZSBjb2RlIG1vdmVkIGZyb20gdGhhdCBmaWxl
LgorCisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQpOiBSZW1v
dmVkIGEgUExBVEZPUk0oQ0hST01JVU0pIGNsYXVzZSwKKyAgICAgICAgY2hyb21pdW0gZG9lc24n
dCBjb21waWxlIHRoaXMgZmlsZS4KKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5Ojpjb25uZWN0VG9Xb3JrZXIpOiBBZGRlZCBhIEZJWE1FIGFib3V0CisgICAg
ICAgIHNlZW1pbmdseSB3cm9uZyBjb2RlLgorCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojpjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmRvY3VtZW50RGV0YWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vycyk6CisgICAgICAgIE1vdmVkIGZyb20gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLCBiZWNhc3VlIHRoaXMgaXMgcGFydCBvZiBTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LgorCiAyMDEyLTEwLTI1ICBUb255IENoYW5nICA8dG9ueUBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgTW92ZSBkZWZhdWx0IERPTSBUaW1lciB2YWx1ZXMgaW50byBT
ZXR0aW5ncwpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDEzMjM4MikKKysrIFNv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNDM1LDYgKzI0
MzUsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgd29ya2Vycy9EZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeS5jcHAKICAgICB3b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAKICAgICB3b3Jr
ZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAogICAgIHdvcmtl
cnMvV29ya2VyLmNwcAogICAgIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTMyMzgyKQorKysgU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtNTc5NCw2ICs1Nzk0LDcg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckNvbnRleHQuaCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oIFwKKwlTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUvd29y
a2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1No
YXJlZFdvcmtlclRocmVhZC5oIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTMyMzgyKQor
KysgU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMzEyNCw2ICsz
MTI0LDcgQEAgZW5hYmxlPyhTSEFSRURfV09SS0VSUykgewogICAgICAgICB3b3JrZXJzL0RlZmF1
bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBcCiAgICAgICAgIHdvcmtlcnMvU2hhcmVkV29y
a2VyLmNwcCBcCiAgICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAgXAorICAg
ICAgICB3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKICAgICAgICAgd29ya2Vy
cy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlz
aW9uIDEzMjM4MikKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5
KQpAQCAtMzY2NCw2ICszNjY0LDcgQEAKICAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtl
ci5oJywKICAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwJywKICAg
ICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaCcsCisgICAgICAgICAgICAn
d29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCcsCiAgICAgICAgICAgICAnd29ya2Vy
cy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVk
V29ya2VyVGhyZWFkLmNwcCcsCiAgICAgICAgICAgICAnd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJl
YWQuaCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkocmV2aXNp
b24gMTMyMzgyKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHdv
cmtpbmcgY29weSkKQEAgLTIwOTYsNiArMjA5Niw3IEBACiAgICAgICAgIFsnZXhjbHVkZScsICdz
dG9yYWdlL1N0b3JhZ2VUaHJlYWRcXC4oY3BwfGgpJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAn
c3RvcmFnZS9TdG9yYWdlVHJhY2tlclxcLihjcHB8aCkkJ10sCiAgICAgICAgIFsnZXhjbHVkZScs
ICdzdG9yYWdlL1N0b3JhZ2VUcmFja2VyQ2xpZW50XFwuaCQnXSwKKyAgICAgICAgWydleGNsdWRl
JywgJ3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeVxcLmNwcCQnXSwKICAgICAgICAgWydl
eGNsdWRlJywgJ3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnlcXC4oY3BwfGgp
JCddLAogCiAgICAgICAgIFsnaW5jbHVkZScsICdsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25D
YWNoZUhvc3RcLmgkJ10sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9X
ZWJDb3JlLnZjcHJvagkocmV2aXNpb24gMTMyMzgzKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU1NzA3LDYgKzU1NzA3
LDEwIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XHdvcmtlcnNcU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdvcmtlcnNcU2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5oIgogCQkJCT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDEzMjM4MikKKysrIFNv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBj
b3B5KQpAQCAtNjA5MCw2ICs2MDkwLDcgQEAKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8q
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLmggKi87IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50
aWFsU3RvcmFnZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5t
bSAqLzsgfTsKIAkJRTFCNzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0
ZWd5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3
ODM5QjE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMUI3ODQyMDE2MzlDQkJF
MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyog
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgKi87IH07CiAJCUUxQkU1MTJEMENGNkM1MTIwMDJF
QTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2Rl
U29ydC5jcHAgKi87IH07CiAJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29k
ZVNvcnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUx
QkU1MTJDMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLzsgfTsKIAkJRTFD
MkYyNEExNTMzQTIxMjAwODNGOTc0IC8qIFNldHRpbmdzTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFDMkYyNDgxNTMzQTIxMjAwODNGOTc0IC8q
IFNldHRpbmdzTWFjLm1tICovOyB9OwpAQCAtMTM1MDYsNiArMTM1MDcsNyBAQAogCQlFMUIyNTEw
NTE1MkEwQkFGMDA2OUI3NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50
aWFsU3RvcmFnZU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlF
MUI3ODM5QjE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9
IHdvcmtlcnMvU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTFCNzg0MUYxNjM5Q0JCRTAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHA7IHBhdGggPSB3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUJFNTEyQjBDRjZDNTEyMDAyRUE5NTkgLyog
WFNMVFVuaWNvZGVTb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFhTTFRVbmljb2RlU29ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1
MTJDMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gWFNMVFVuaWNvZGVTb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxQzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNldHRpbmdzTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTQ5NDMsNiArMTQ5NDUsNyBAQAogCQkJCTQxRDE2
OERGMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmNwcCAqLywKIAkJCQk0
MUQxNjhFMDEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4dC5oICovLAogCQkJ
CTQxRDE2OEUxMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmlkbCAqLywK
KwkJCQlFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5j
cHAgKi8sCiAJCQkJNDFEMTY4RTIxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlclJlcG9z
aXRvcnkuaCAqLywKIAkJCQlFMUI3ODM5QjE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2Vy
U3RyYXRlZ3kuaCAqLywKIAkJCQk0MUQxNjhFNTEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29y
a2VyVGhyZWFkLmNwcCAqLywKQEAgLTIyNTM2LDggKzIyNTM5LDggQEAKIAkJCQk0OUM3QjlERDEw
NDJEMzJGMDAwOUQ0NDcgLyogQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDk0ODRGQ0IxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDk0ODRGQ0UxMDJDRjIzQzAwMTg3REQzIC8qIENhbnZh
c1N0eWxlLmggaW4gSGVhZGVycyAqLywKLSAJCQkJMDc5RDA4NjgxNjJGMjBFODAwREI4NjU4IC8q
IENhcHRpb25Vc2VyUHJlZmVyZW5jZXMuaCBpbiBIZWFkZXJzICovLAotIAkJCQkwNzlEMDg2QjE2
MkYyMUY5MDBEQjg2NTggLyogQ2FwdGlvblVzZXJQcmVmZXJlbmNlc01hYy5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMDc5RDA4NjgxNjJGMjBFODAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5j
ZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTA3OUQwODZCMTYyRjIxRjkwMERCODY1OCAvKiBDYXB0
aW9uVXNlclByZWZlcmVuY2VzTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTUwQjY5RTA5OURG
MDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0JDNjlE
RDE1MDVGMDc2MDAxQjc0QUMgLyogQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUZEMzE1RkZGMTJCMDI2NzYwMEMxQTM1OSAvKiBDaGFubmVsTWVyZ2VyTm9kZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNjE2MCw3ICsyNjE2Myw3IEBACiAJCQkJNDlDN0I5REMxMDQyRDMy
RjAwMDlENDQ3IC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNDk0ODRGQ0ExMDJDRjIzQzAwMTg3REQzIC8qIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk0OTQ4NEZDRDEwMkNGMjNDMDAxODdERDMgLyogQ2FudmFz
U3R5bGUuY3BwIGluIFNvdXJjZXMgKi8sCi0gCQkJCTA3OUQwODZDMTYyRjIxRjkwMERCODY1OCAv
KiBDYXB0aW9uVXNlclByZWZlcmVuY2VzTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMDc5RDA4
NkMxNjJGMjFGOTAwREI4NjU4IC8qIENhcHRpb25Vc2VyUHJlZmVyZW5jZXNNYWMubW0gaW4gU291
cmNlcyAqLywKIAkJCQk2NTUwQjY5RDA5OURGMDI3MDA5MEQ3ODEgLyogQ0RBVEFTZWN0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTk3QkM2OURDMTUwNUYwNzYwMDFCNzRBQyAvKiBDaGFuZ2VW
ZXJzaW9uV3JhcHBlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMxNUZGRTEyQjAyNjc2MDBD
MUEzNTkgLyogQ2hhbm5lbE1lcmdlck5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0yODc3Niw2
ICsyODc3OSw3IEBACiAJCQkJN0U1RDdBNzYxNjFEM0Y4RjAwODk2QzM0IC8qIE9FU0VsZW1lbnRJ
bmRleFVpbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0U0NkY2RkExNjI3QTJDQTAwMDYyMjIz
IC8qIEpTT0VTRWxlbWVudEluZGV4VWludC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDcxMjdD
QTE2MzQzOEExMDBFRDZGNUEgLyogU3R5bGVJbnZhbGlkYXRpb25BbmFseXNpcy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQlFMUI3ODQyMDE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lv
biAxMzIzODIpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzE1LDcgKzMxNSw3IEBAIHZvaWQgU2hh
cmVkV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkKGNvbnMKIAogICAgIC8vIE1hcmsgdGhpcyBvYmpl
Y3QgYXMgYWN0aXZlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhlIGxvYWQuCiAgICAgbV9zY3JpcHRM
b2FkZXIgPSBXb3JrZXJTY3JpcHRMb2FkZXI6OmNyZWF0ZSgpOwotI2lmIFBMQVRGT1JNKENIUk9N
SVVNKSB8fCBQTEFURk9STShCTEFDS0JFUlJZKQorI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAg
ICAgbV9zY3JpcHRMb2FkZXItPnNldFRhcmdldFR5cGUoUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJ
c1NoYXJlZFdvcmtlcik7CiAjZW5kaWYKICAgICBtX3NjcmlwdExvYWRlci0+bG9hZEFzeW5jaHJv
bm91c2x5KG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIHVybCwgRGVueUNyb3Nz
T3JpZ2luUmVxdWVzdHMsIHRoaXMpOwpAQCAtMzY2LDI3ICszNjYsNiBAQCB2b2lkIERlZmF1bHRT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojp3b3JrCiAgICAgcHJveHkudGhyZWFkKCktPnJ1bkxvb3Ao
KS5wb3N0VGFzayhTaGFyZWRXb3JrZXJDb25uZWN0VGFzazo6Y3JlYXRlKHBvcnQpKTsKIH0KIAot
Ym9vbCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSgpCi17Ci0gICAgLy8gU2hh
cmVkV29ya2VycyBhcmUgZW5hYmxlZCBvbiB0aGUgZGVmYXVsdCBXZWJLaXQgcGxhdGZvcm0uCi0g
ICAgcmV0dXJuIHRydWU7Ci19Ci0KLXZvaWQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6Y29ubmVj
dChQYXNzUmVmUHRyPFNoYXJlZFdvcmtlcj4gd29ya2VyLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
Q2hhbm5lbD4gcG9ydCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjppbnN0
YW5jZSgpLmNvbm5lY3RUb1dvcmtlcih3b3JrZXIsIHBvcnQsIHVybCwgbmFtZSwgZWMpOwotfQot
Ci12b2lkIFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6OmRvY3VtZW50RGV0YWNoZWQoRG9jdW1lbnQq
IGRvY3VtZW50KQotewotICAgIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjppbnN0YW5j
ZSgpLmRvY3VtZW50RGV0YWNoZWQoZG9jdW1lbnQpOwotfQotCi1ib29sIFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6Omhhc1NoYXJlZFdvcmtlcnMoRG9jdW1lbnQqIGRvY3VtZW50KQotewotICAgIHJl
dHVybiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aW5zdGFuY2UoKS5oYXNTaGFyZWRX
b3JrZXJzKGRvY3VtZW50KTsKLX0KLQogYm9vbCBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9y
eTo6aGFzU2hhcmVkV29ya2VycyhEb2N1bWVudCogZG9jdW1lbnQpCiB7CiAgICAgTXV0ZXhMb2Nr
ZXIgbG9jayhtX2xvY2spOwpAQCAtNDIxLDcgKzQwMCwxMCBAQCB2b2lkIERlZmF1bHRTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5Ojpjb25uCiAgICAgQVNTRVJUKHdvcmtlci0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3MoU2VjdXJpdHlPcmlnaW46OmNy
ZWF0ZSh1cmwpLmdldCgpKSk7CiAgICAgLy8gRmV0Y2ggYSBwcm94eSBjb3JyZXNwb25kaW5nIHRv
IHRoaXMgU2hhcmVkV29ya2VyLgogICAgIFJlZlB0cjxTaGFyZWRXb3JrZXJQcm94eT4gcHJveHkg
PSBnZXRQcm94eShuYW1lLCB1cmwpOworCisgICAgLy8gRklYTUU6IFdoeSBpcyB0aGlzIGRvbmUg
ZXZlbiBpZiB3ZSBhcmUgcmFpc2luZyBhbiBleGNlcHRpb24gYmVsb3c/CiAgICAgcHJveHktPmFk
ZFRvV29ya2VyRG9jdW1lbnRzKHdvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpKTsKKwog
ICAgIGlmIChwcm94eS0+dXJsKCkgIT0gdXJsKSB7CiAgICAgICAgIC8vIFByb3h5IGFscmVhZHkg
ZXhpc3RlZCB1bmRlciBhbHRlcm5hdGUgVVJMIC0gcmV0dXJuIGFuIGVycm9yLgogICAgICAgICBl
YyA9IFVSTF9NSVNNQVRDSF9FUlI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJl
ZFdvcmtlclJlcG9zaXRvcnkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFC
TEUoU0hBUkVEX1dPUktFUlMpCisKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Lmgi
CisKKyNpbmNsdWRlICJEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2Jvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aXNBdmFpbGFibGUo
KQoreworICAgIC8vIFNoYXJlZFdvcmtlcnMgYXJlIGVuYWJsZWQgb24gdGhlIGRlZmF1bHQgV2Vi
S2l0IHBsYXRmb3JtLgorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6OmNvbm5lY3QoUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXI+IHdvcmtlciwgUGFzc093
blB0cjxNZXNzYWdlUG9ydENoYW5uZWw+IHBvcnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBEZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6aW5zdGFuY2UoKS5jb25uZWN0VG9Xb3JrZXIod29ya2VyLCBwb3J0LCB1cmws
IG5hbWUsIGVjKTsKK30KKwordm9pZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpkb2N1bWVudERl
dGFjaGVkKERvY3VtZW50KiBkb2N1bWVudCkKK3sKKyAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeTo6aW5zdGFuY2UoKS5kb2N1bWVudERldGFjaGVkKGRvY3VtZW50KTsKK30KKworYm9v
bCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKERvY3VtZW50KiBkb2N1
bWVudCkKK3sKKyAgICByZXR1cm4gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3Rh
bmNlKCkuaGFzU2hhcmVkV29ya2Vycyhkb2N1bWVudCk7Cit9CisKK30KKworI2VuZGlmCgpQcm9w
ZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9z
aXRvcnkuY3BwCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170747</attachid>
            <date>2012-10-25 15:40:00 -0700</date>
            <delta_ts>2012-10-25 16:03:43 -0700</delta_ts>
            <desc>Updated to apply</desc>
            <filename>repository.cpp.txt</filename>
            <type>text/plain</type>
            <size>13805</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjU0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTI1ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSBmdW5jdGlvbnMgb3V0IG9mIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZGVkIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICBDaHJvbWl1bSB1c2VzIFdl
YktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW5zdGVhZCBvZgor
ICAgICAgICBXZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
LiBOb3Qgc3VyZSB3aHkgaXQncyBhZGRlZCBhbmQKKyAgICAgICAgdGhlbiBleGNsdWRlZCwgYnV0
IGRpZCB0aGUgc2FtZSB3aXRoIHRoZSBuZXcgU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAsIHdo
aWNoCisgICAgICAgIGp1c3QgY29udGFpbnMgc29tZSBjb2RlIG1vdmVkIGZyb20gdGhhdCBmaWxl
LgorCisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQpOiBSZW1v
dmVkIGEgUExBVEZPUk0oQ0hST01JVU0pIGNsYXVzZSwKKyAgICAgICAgY2hyb21pdW0gZG9lc24n
dCBjb21waWxlIHRoaXMgZmlsZS4KKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5Ojpjb25uZWN0VG9Xb3JrZXIpOiBBZGRlZCBhIEZJWE1FIGFib3V0CisgICAg
ICAgIHNlZW1pbmdseSB3cm9uZyBjb2RlLgorCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojpjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmRvY3VtZW50RGV0YWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vycyk6CisgICAgICAgIE1vdmVkIGZyb20gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLCBiZWNhc3VlIHRoaXMgaXMgcGFydCBvZiBTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LgorCiAyMDEyLTEwLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1Y4XSBBY3RpdmVET01Ob2RlcyBubyBsb25nZXIgcmVxdWly
ZSBhIHNlcGFyYXRlIHdyYXBwZXIgbWFwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNp
b24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTI0MzYsNiArMjQzNiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICB3b3JrZXJz
L0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29y
a2VyLmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKKyAgICB3b3JrZXJz
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCiAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJl
YWQuY3BwCiAgICAgd29ya2Vycy9Xb3JrZXIuY3BwCiAgICAgd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMzI1NDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC01Nzk2LDYgKzU3OTYsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
LmggXAorCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmggXApJbmRleDogU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShy
ZXZpc2lvbiAxMzI1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNv
cHkpCkBAIC0zMTI2LDYgKzMxMjYsNyBAQCBlbmFibGU/KFNIQVJFRF9XT1JLRVJTKSB7CiAgICAg
ICAgIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKICAgICAgICAg
d29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwIFwKICAgICAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0LmNwcCBcCisgICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAg
XAogICAgICAgICB3b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQkocmV2aXNpb24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zNjYyLDYgKzM2NjIsNyBAQAogICAgICAgICAgICAgJ3dv
cmtlcnMvU2hhcmVkV29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2Vy
Q29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5o
JywKKyAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwJywKICAg
ICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCcsCiAgICAgICAgICAg
ICAnd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwJywKICAgICAgICAgICAgICd3b3JrZXJz
L1NoYXJlZFdvcmtlclRocmVhZC5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCShyZXZpc2lvbiAxMzI1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMjA5Niw2ICsyMDk2LDcgQEAKICAgICAg
ICAgWydleGNsdWRlJywgJ3N0b3JhZ2UvU3RvcmFnZVRocmVhZFxcLihjcHB8aCkkJ10sCiAgICAg
ICAgIFsnZXhjbHVkZScsICdzdG9yYWdlL1N0b3JhZ2VUcmFja2VyXFwuKGNwcHxoKSQnXSwKICAg
ICAgICAgWydleGNsdWRlJywgJ3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXJDbGllbnRcXC5oJCddLAor
ICAgICAgICBbJ2V4Y2x1ZGUnLCAnd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5XFwuY3Bw
JCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeVxcLihjcHB8aCkkJ10sCiAKICAgICAgICAgWydpbmNsdWRlJywgJ2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdFwuaCQnXSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzI1NDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpA
QCAtNTU3MTUsNiArNTU3MTUsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02MDkyLDYgKzYwOTIsNyBAQAogCQlFMUIyNTEwNzE1
MkEwQkIwMDA2OUI3NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCMjUxMDUxNTJBMEJBRjAwNjlCNzc5
IC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCAqLzsgfTsKIAkJRTFCNENEMjUxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRl
bnRpYWxTdG9yYWdlTWFjLm1tICovOyB9OwogCQlFMUI3ODM5QzE2Mzc0MEE3MDAwN0I2OTIgLyog
U2hhcmVkV29ya2VyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJTdHJh
dGVneS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUUxQjc4NDIwMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjc4NDFGMTYz
OUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJRTFC
RTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQjBDRjZDNTEyMDAyRUE5
NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCAqLzsgfTsKIAkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29y
dC5oICovOyB9OwogCQlFMUMyRjI0QTE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0dGluZ3NNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUMyRjI0ODE1
MzNBMjEyMDA4M0Y5NzQgLyogU2V0dGluZ3NNYWMubW0gKi87IH07CkBAIC0xMzUxMCw2ICsxMzUx
MSw3IEBACiAJCUUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNENEMjQxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJT
dHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTaGFyZWRXb3JrZXJT
dHJhdGVneS5oOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1MTJCMENG
NkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gWFNMVFVuaWNvZGVTb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFDMkYyNDgxNTMzQTIxMjAwODNGOTc0IC8qIFNl
dHRpbmdzTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2V0
dGluZ3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDk0Nyw2ICsxNDk0
OSw3IEBACiAJCQkJNDFEMTY4REYxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlckNvbnRl
eHQuY3BwICovLAogCQkJCTQxRDE2OEUwMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJD
b250ZXh0LmggKi8sCiAJCQkJNDFEMTY4RTExMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtl
ckNvbnRleHQuaWRsICovLAorCQkJCUUxQjc4NDFGMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmNwcCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyog
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oICovLAogCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlC
QzgyNyAvKiBTaGFyZWRXb3JrZXJUaHJlYWQuY3BwICovLApAQCAtMjg3ODQsNiArMjg3ODcsNyBA
QAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUFCRjY0RDE2MzkyRTI4MDAxMzJBN0EgLyogTG9hZGVyU3RyYXRl
Z3kuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFCNzg0MjAxNjM5Q0JCRTAwMDdCNjkyIC8qIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcAkocmV2aXNpb24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNSw3ICszMTUs
NyBAQCB2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChjb25zCiAKICAgICAvLyBN
YXJrIHRoaXMgb2JqZWN0IGFzIGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBsb2FkLgog
ICAgIG1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSNpZiBQ
TEFURk9STShDSFJPTUlVTSkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9STShC
TEFDS0JFUlJZKQogICAgIG1fc2NyaXB0TG9hZGVyLT5zZXRUYXJnZXRUeXBlKFJlc291cmNlUmVx
dWVzdDo6VGFyZ2V0SXNTaGFyZWRXb3JrZXIpOwogI2VuZGlmCiAgICAgbV9zY3JpcHRMb2FkZXIt
PmxvYWRBc3luY2hyb25vdXNseShtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1
cmwsIERlbnlDcm9zc09yaWdpblJlcXVlc3RzLCB0aGlzKTsKQEAgLTM2NiwyNyArMzY2LDYgQEAg
dm9pZCBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6d29yawogICAgIHByb3h5LnRocmVh
ZCgpLT5ydW5Mb29wKCkucG9zdFRhc2soU2hhcmVkV29ya2VyQ29ubmVjdFRhc2s6OmNyZWF0ZShw
b3J0KSk7CiB9CiAKLWJvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aXNBdmFpbGFibGUoKQot
ewotICAgIC8vIFNoYXJlZFdvcmtlcnMgYXJlIGVuYWJsZWQgb24gdGhlIGRlZmF1bHQgV2ViS2l0
IHBsYXRmb3JtLgotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIFNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmNvbm5lY3QoUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXI+IHdvcmtlciwgUGFzc093blB0
cjxNZXNzYWdlUG9ydENoYW5uZWw+IHBvcnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeTo6aW5zdGFuY2UoKS5jb25uZWN0VG9Xb3JrZXIod29ya2VyLCBwb3J0LCB1cmwsIG5h
bWUsIGVjKTsKLX0KLQotdm9pZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpkb2N1bWVudERldGFj
aGVkKERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeTo6aW5zdGFuY2UoKS5kb2N1bWVudERldGFjaGVkKGRvY3VtZW50KTsKLX0KLQotYm9vbCBT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKERvY3VtZW50KiBkb2N1bWVu
dCkKLXsKLSAgICByZXR1cm4gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNl
KCkuaGFzU2hhcmVkV29ya2Vycyhkb2N1bWVudCk7Ci19Ci0KIGJvb2wgRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnk6Omhhc1NoYXJlZFdvcmtlcnMoRG9jdW1lbnQqIGRvY3VtZW50KQogewog
ICAgIE11dGV4TG9ja2VyIGxvY2sobV9sb2NrKTsKQEAgLTQyMSw3ICs0MDAsMTAgQEAgdm9pZCBE
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6Y29ubgogICAgIEFTU0VSVCh3b3JrZXItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzKFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGUodXJsKS5nZXQoKSkpOwogICAgIC8vIEZldGNoIGEgcHJveHkgY29y
cmVzcG9uZGluZyB0byB0aGlzIFNoYXJlZFdvcmtlci4KICAgICBSZWZQdHI8U2hhcmVkV29ya2Vy
UHJveHk+IHByb3h5ID0gZ2V0UHJveHkobmFtZSwgdXJsKTsKKworICAgIC8vIEZJWE1FOiBXaHkg
aXMgdGhpcyBkb25lIGV2ZW4gaWYgd2UgYXJlIHJhaXNpbmcgYW4gZXhjZXB0aW9uIGJlbG93Pwog
ICAgIHByb3h5LT5hZGRUb1dvcmtlckRvY3VtZW50cyh3b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CisKICAgICBpZiAocHJveHktPnVybCgpICE9IHVybCkgewogICAgICAgICAvLyBQ
cm94eSBhbHJlYWR5IGV4aXN0ZWQgdW5kZXIgYWx0ZXJuYXRlIFVSTCAtIHJldHVybiBhbiBlcnJv
ci4KICAgICAgICAgZWMgPSBVUkxfTUlTTUFUQ0hfRVJSOwpJbmRleDogU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQorCisjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oIgorCisjaW5jbHVkZSAiRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6
OmlzQXZhaWxhYmxlKCkKK3sKKyAgICAvLyBTaGFyZWRXb3JrZXJzIGFyZSBlbmFibGVkIG9uIHRo
ZSBkZWZhdWx0IFdlYktpdCBwbGF0Zm9ybS4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpjb25uZWN0KFBhc3NSZWZQdHI8U2hhcmVkV29ya2VyPiB3
b3JrZXIsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPiBwb3J0LCBjb25zdCBLVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuY29ubmVjdFRvV29ya2VyKHdvcmtl
ciwgcG9ydCwgdXJsLCBuYW1lLCBlYyk7Cit9CisKK3ZvaWQgU2hhcmVkV29ya2VyUmVwb3NpdG9y
eTo6ZG9jdW1lbnREZXRhY2hlZChEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgRGVmYXVsdFNo
YXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuZG9jdW1lbnREZXRhY2hlZChkb2N1bWVu
dCk7Cit9CisKK2Jvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2VycyhE
b2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5OjppbnN0YW5jZSgpLmhhc1NoYXJlZFdvcmtlcnMoZG9jdW1lbnQpOworfQorCit9CisK
KyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAg
ICsgbmF0aXZlCgo=
</data>
<flag name="commit-queue"
          id="184450"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>170758</attachid>
            <date>2012-10-25 16:03:43 -0700</date>
            <delta_ts>2013-03-11 15:32:19 -0700</delta_ts>
            <desc>with build fix</desc>
            <filename>repository.cpp.txt</filename>
            <type>text/plain</type>
            <size>13865</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMjU0MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEyLTEwLTI1ICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSBmdW5jdGlvbnMgb3V0IG9mIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZGVkIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICBDaHJvbWl1bSB1c2VzIFdl
YktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW5zdGVhZCBvZgor
ICAgICAgICBXZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
LiBOb3Qgc3VyZSB3aHkgaXQncyBhZGRlZCBhbmQKKyAgICAgICAgdGhlbiBleGNsdWRlZCwgYnV0
IGRpZCB0aGUgc2FtZSB3aXRoIHRoZSBuZXcgU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAsIHdo
aWNoCisgICAgICAgIGp1c3QgY29udGFpbnMgc29tZSBjb2RlIG1vdmVkIGZyb20gdGhhdCBmaWxl
LgorCisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQpOiBSZW1v
dmVkIGEgUExBVEZPUk0oQ0hST01JVU0pIGNsYXVzZSwKKyAgICAgICAgY2hyb21pdW0gZG9lc24n
dCBjb21waWxlIHRoaXMgZmlsZS4KKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5Ojpjb25uZWN0VG9Xb3JrZXIpOiBBZGRlZCBhIEZJWE1FIGFib3V0CisgICAg
ICAgIHNlZW1pbmdseSB3cm9uZyBjb2RlLgorCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojpjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmRvY3VtZW50RGV0YWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vycyk6CisgICAgICAgIE1vdmVkIGZyb20gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLCBiZWNhc3VlIHRoaXMgaXMgcGFydCBvZiBTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LgorCiAyMDEyLTEwLTI1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW1Y4XSBBY3RpdmVET01Ob2RlcyBubyBsb25nZXIgcmVxdWly
ZSBhIHNlcGFyYXRlIHdyYXBwZXIgbWFwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNp
b24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTI0MzYsNiArMjQzNiw3IEBAIFNFVChXZWJDb3JlX1NPVVJDRVMKICAgICB3b3JrZXJz
L0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29y
a2VyLmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAKKyAgICB3b3JrZXJz
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCiAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJl
YWQuY3BwCiAgICAgd29ya2Vycy9Xb3JrZXIuY3BwCiAgICAgd29ya2Vycy9Xb3JrZXJDb250ZXh0
LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCShyZXZpc2lvbiAxMzI1NDAp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC01Nzk2LDYgKzU3OTYsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlci5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
LmggXAorCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAg
XAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmggXApJbmRleDogU291cmNlL1dlYkNv
cmUvVGFyZ2V0LnByaQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShy
ZXZpc2lvbiAxMzI1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNv
cHkpCkBAIC0zMTI2LDYgKzMxMjYsNyBAQCBlbmFibGU/KFNIQVJFRF9XT1JLRVJTKSB7CiAgICAg
ICAgIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKICAgICAgICAg
d29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwIFwKICAgICAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJD
b250ZXh0LmNwcCBcCisgICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAg
XAogICAgICAgICB3b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAKIH0KIApJbmRleDogU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQkocmV2aXNpb24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpCSh3b3JraW5nIGNvcHkpCkBAIC0zNjYyLDYgKzM2NjIsNyBAQAogICAgICAgICAgICAgJ3dv
cmtlcnMvU2hhcmVkV29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2Vy
Q29udGV4dC5jcHAnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5o
JywKKyAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwJywKICAg
ICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCcsCiAgICAgICAgICAg
ICAnd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwJywKICAgICAgICAgICAgICd3b3JrZXJz
L1NoYXJlZFdvcmtlclRocmVhZC5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
L1dlYkNvcmUuZ3lwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCShyZXZpc2lvbiAxMzI1NDApCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAkod29ya2luZyBjb3B5KQpAQCAtMjA5Niw2ICsyMDk2LDcgQEAKICAgICAg
ICAgWydleGNsdWRlJywgJ3N0b3JhZ2UvU3RvcmFnZVRocmVhZFxcLihjcHB8aCkkJ10sCiAgICAg
ICAgIFsnZXhjbHVkZScsICdzdG9yYWdlL1N0b3JhZ2VUcmFja2VyXFwuKGNwcHxoKSQnXSwKICAg
ICAgICAgWydleGNsdWRlJywgJ3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXJDbGllbnRcXC5oJCddLAor
ICAgICAgICBbJ2V4Y2x1ZGUnLCAnd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5XFwuY3Bw
JCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeVxcLihjcHB8aCkkJ10sCiAKICAgICAgICAgWydpbmNsdWRlJywgJ2xvYWRlci9hcHBj
YWNoZS9BcHBsaWNhdGlvbkNhY2hlSG9zdFwuaCQnXSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxMzI1NDApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpA
QCAtNTU3MTUsNiArNTU3MTUsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCIKKwkJ
CQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNp
b24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC02MDkyLDYgKzYwOTIsNyBAQAogCQlFMUIyNTEwNzE1
MkEwQkIwMDA2OUI3NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCMjUxMDUxNTJBMEJBRjAwNjlCNzc5
IC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCAqLzsgfTsKIAkJRTFCNENEMjUxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRl
bnRpYWxTdG9yYWdlTWFjLm1tICovOyB9OwogCQlFMUI3ODM5QzE2Mzc0MEE3MDAwN0I2OTIgLyog
U2hhcmVkV29ya2VyU3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJTdHJh
dGVneS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJ
CUUxQjc4NDIwMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjc4NDFGMTYz
OUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJRTFC
RTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQjBDRjZDNTEyMDAyRUE5
NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCAqLzsgfTsKIAkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29y
dC5oICovOyB9OwogCQlFMUMyRjI0QTE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0dGluZ3NNYWMubW0g
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUMyRjI0ODE1
MzNBMjEyMDA4M0Y5NzQgLyogU2V0dGluZ3NNYWMubW0gKi87IH07CkBAIC0xMzUxMCw2ICsxMzUx
MSw3IEBACiAJCUUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNENEMjQxMEIzMjJFMjAw
QkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJT
dHJhdGVneS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTaGFyZWRXb3JrZXJT
dHJhdGVneS5oOyBwYXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1MTJCMENG
NkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gWFNMVFVuaWNvZGVTb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFDMkYyNDgxNTMzQTIxMjAwODNGOTc0IC8qIFNl
dHRpbmdzTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2V0
dGluZ3NNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDk0Nyw2ICsxNDk0
OSw3IEBACiAJCQkJNDFEMTY4REYxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlckNvbnRl
eHQuY3BwICovLAogCQkJCTQxRDE2OEUwMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJD
b250ZXh0LmggKi8sCiAJCQkJNDFEMTY4RTExMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtl
ckNvbnRleHQuaWRsICovLAorCQkJCUUxQjc4NDFGMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmNwcCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyog
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oICovLAogCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlC
QzgyNyAvKiBTaGFyZWRXb3JrZXJUaHJlYWQuY3BwICovLApAQCAtMjg3ODQsNiArMjg3ODcsNyBA
QAogCQkJCTk3N0UyRTBFMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZENTM3MzUyMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MUFCRjY0RDE2MzkyRTI4MDAxMzJBN0EgLyogTG9hZGVyU3RyYXRl
Z3kuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFCNzg0MjAxNjM5Q0JCRTAwMDdCNjkyIC8qIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
LmNwcAkocmV2aXNpb24gMTMyNTQwKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNSw3ICszMTUs
NyBAQCB2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChjb25zCiAKICAgICAvLyBN
YXJrIHRoaXMgb2JqZWN0IGFzIGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBsb2FkLgog
ICAgIG1fc2NyaXB0TG9hZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSNpZiBQ
TEFURk9STShDSFJPTUlVTSkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9STShC
TEFDS0JFUlJZKQogICAgIG1fc2NyaXB0TG9hZGVyLT5zZXRUYXJnZXRUeXBlKFJlc291cmNlUmVx
dWVzdDo6VGFyZ2V0SXNTaGFyZWRXb3JrZXIpOwogI2VuZGlmCiAgICAgbV9zY3JpcHRMb2FkZXIt
PmxvYWRBc3luY2hyb25vdXNseShtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1
cmwsIERlbnlDcm9zc09yaWdpblJlcXVlc3RzLCB0aGlzKTsKQEAgLTM2NiwyNyArMzY2LDYgQEAg
dm9pZCBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6d29yawogICAgIHByb3h5LnRocmVh
ZCgpLT5ydW5Mb29wKCkucG9zdFRhc2soU2hhcmVkV29ya2VyQ29ubmVjdFRhc2s6OmNyZWF0ZShw
b3J0KSk7CiB9CiAKLWJvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aXNBdmFpbGFibGUoKQot
ewotICAgIC8vIFNoYXJlZFdvcmtlcnMgYXJlIGVuYWJsZWQgb24gdGhlIGRlZmF1bHQgV2ViS2l0
IHBsYXRmb3JtLgotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIFNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmNvbm5lY3QoUGFzc1JlZlB0cjxTaGFyZWRXb3JrZXI+IHdvcmtlciwgUGFzc093blB0
cjxNZXNzYWdlUG9ydENoYW5uZWw+IHBvcnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeTo6aW5zdGFuY2UoKS5jb25uZWN0VG9Xb3JrZXIod29ya2VyLCBwb3J0LCB1cmwsIG5h
bWUsIGVjKTsKLX0KLQotdm9pZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpkb2N1bWVudERldGFj
aGVkKERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3Np
dG9yeTo6aW5zdGFuY2UoKS5kb2N1bWVudERldGFjaGVkKGRvY3VtZW50KTsKLX0KLQotYm9vbCBT
aGFyZWRXb3JrZXJSZXBvc2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKERvY3VtZW50KiBkb2N1bWVu
dCkKLXsKLSAgICByZXR1cm4gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNl
KCkuaGFzU2hhcmVkV29ya2Vycyhkb2N1bWVudCk7Ci19Ci0KIGJvb2wgRGVmYXVsdFNoYXJlZFdv
cmtlclJlcG9zaXRvcnk6Omhhc1NoYXJlZFdvcmtlcnMoRG9jdW1lbnQqIGRvY3VtZW50KQogewog
ICAgIE11dGV4TG9ja2VyIGxvY2sobV9sb2NrKTsKQEAgLTQyMSw3ICs0MDAsMTAgQEAgdm9pZCBE
ZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6Y29ubgogICAgIEFTU0VSVCh3b3JrZXItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzKFNlY3Vy
aXR5T3JpZ2luOjpjcmVhdGUodXJsKS5nZXQoKSkpOwogICAgIC8vIEZldGNoIGEgcHJveHkgY29y
cmVzcG9uZGluZyB0byB0aGlzIFNoYXJlZFdvcmtlci4KICAgICBSZWZQdHI8U2hhcmVkV29ya2Vy
UHJveHk+IHByb3h5ID0gZ2V0UHJveHkobmFtZSwgdXJsKTsKKworICAgIC8vIEZJWE1FOiBXaHkg
aXMgdGhpcyBkb25lIGV2ZW4gaWYgd2UgYXJlIHJhaXNpbmcgYW4gZXhjZXB0aW9uIGJlbG93Pwog
ICAgIHByb3h5LT5hZGRUb1dvcmtlckRvY3VtZW50cyh3b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSk7CisKICAgICBpZiAocHJveHktPnVybCgpICE9IHVybCkgewogICAgICAgICAvLyBQ
cm94eSBhbHJlYWR5IGV4aXN0ZWQgdW5kZXIgYWx0ZXJuYXRlIFVSTCAtIHJldHVybiBhbiBlcnJv
ci4KICAgICAgICAgZWMgPSBVUkxfTUlTTUFUQ0hfRVJSOwpJbmRleDogU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lvbiAwKQor
KysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorCisjaWYgRU5BQkxFKFNIQVJFRF9XT1JLRVJTKQorCisjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oIgorCisjaW5jbHVkZSAiRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
aCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKKyNpbmNsdWRlICJNZXNzYWdlUG9ydENoYW5u
ZWwuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitib29sIFNoYXJlZFdvcmtlclJlcG9zaXRv
cnk6OmlzQXZhaWxhYmxlKCkKK3sKKyAgICAvLyBTaGFyZWRXb3JrZXJzIGFyZSBlbmFibGVkIG9u
IHRoZSBkZWZhdWx0IFdlYktpdCBwbGF0Zm9ybS4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpjb25uZWN0KFBhc3NSZWZQdHI8U2hhcmVkV29ya2Vy
PiB3b3JrZXIsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPiBwb3J0LCBjb25zdCBLVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgRGVm
YXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuY29ubmVjdFRvV29ya2VyKHdv
cmtlciwgcG9ydCwgdXJsLCBuYW1lLCBlYyk7Cit9CisKK3ZvaWQgU2hhcmVkV29ya2VyUmVwb3Np
dG9yeTo6ZG9jdW1lbnREZXRhY2hlZChEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuZG9jdW1lbnREZXRhY2hlZChkb2N1
bWVudCk7Cit9CisKK2Jvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vy
cyhEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgcmV0dXJuIERlZmF1bHRTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5OjppbnN0YW5jZSgpLmhhc1NoYXJlZFdvcmtlcnMoZG9jdW1lbnQpOworfQorCit9
CisKKyNlbmRpZgoKUHJvcGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvd29ya2Vycy9T
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxl
CiAgICsgbmF0aXZlCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192577</attachid>
            <date>2013-03-11 15:32:19 -0700</date>
            <delta_ts>2013-03-11 17:28:52 -0700</delta_ts>
            <desc>updated to ToT</desc>
            <filename>repository.cpp.txt</filename>
            <type>text/plain</type>
            <size>14004</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTQxMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTExICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSBmdW5jdGlvbnMgb3V0IG9mIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtl
TGlzdHMudHh0OgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06CisgICAgICAgICogVGFy
Z2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIEFkZGVkIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29y
ZS5neXA6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICBDaHJvbWl1bSB1c2VzIFdl
YktpdC9jaHJvbWl1bS9zcmMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW5zdGVhZCBvZgor
ICAgICAgICBXZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3Bw
LiBOb3Qgc3VyZSB3aHkgaXQncyBhZGRlZCBhbmQKKyAgICAgICAgdGhlbiBleGNsdWRlZCwgYnV0
IGRpZCB0aGUgc2FtZSB3aXRoIHRoZSBuZXcgU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAsIHdo
aWNoCisgICAgICAgIGp1c3QgY29udGFpbnMgc29tZSBjb2RlIG1vdmVkIGZyb20gdGhhdCBmaWxl
LgorCisgICAgICAgICogd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQpOiBSZW1v
dmVkIGEgUExBVEZPUk0oQ0hST01JVU0pIGNsYXVzZSwKKyAgICAgICAgY2hyb21pdW0gZG9lc24n
dCBjb21waWxlIHRoaXMgZmlsZS4KKyAgICAgICAgKFdlYkNvcmU6OkRlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5Ojpjb25uZWN0VG9Xb3JrZXIpOiBBZGRlZCBhIEZJWE1FIGFib3V0CisgICAg
ICAgIHNlZW1pbmdseSB3cm9uZyBjb2RlLgorCisgICAgICAgICogd29ya2Vycy9TaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojpjb25uZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmRvY3VtZW50RGV0YWNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2Vycyk6CisgICAgICAgIE1vdmVkIGZyb20gRGVmYXVs
dFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwLCBiZWNhdXNlIHRoaXMgaXMgcGFydCBvZiBTaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LgorCiAyMDEzLTAzLTExICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAYXBwbGUuY29tPgogCiAgICAgICAgIFJvbGwgb3V0IHBhcnQgb2YgcjE0NDY3MS4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAxNDUzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjUyMSw2ICsyNTIxLDcgQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIHdvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnku
Y3BwCiAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwCiAgICAgd29ya2Vycy9TaGFyZWRXb3Jr
ZXJDb250ZXh0LmNwcAorICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAKICAg
ICB3b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAKICAgICB3b3JrZXJzL1dvcmtlci5jcHAK
ICAgICB3b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5saXN0LmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHJldmlzaW9uIDE0NTM3MSkKKysrIFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0JKHdvcmtpbmcgY29weSkKQEAgLTQ3MTgsNiArNDcxOCw3IEBAIHdlYmNvcmVfc291
cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0Lmgg
XAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcCBcCiAJU291cmNlL1dl
YkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaCBcCisJU291cmNlL1dlYkNvcmUvd29ya2Vycy9T
aGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmggXAogCVNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyU3RyYXRlZ3kuaCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJl
YWQuY3BwIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQkocmV2aXNpb24gMTQ1MzcxKQorKysgU291cmNlL1dl
YkNvcmUvVGFyZ2V0LnByaQkod29ya2luZyBjb3B5KQpAQCAtMzI2NCw2ICszMjY0LDcgQEAgZW5h
YmxlPyhTSEFSRURfV09SS0VSUykgewogICAgICAgICB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcCBcCiAgICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyLmNwcCBcCiAg
ICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAgXAorICAgICAgICB3b3JrZXJz
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKICAgICAgICAgd29ya2Vycy9TaGFyZWRXb3Jr
ZXJUaHJlYWQuY3BwCiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkJKHJldmlzaW9uIDE0NTM3MSkK
KysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5KQpAQCAtMjc0MSw2
ICsyNzQxLDcgQEAKICAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlci5oJywKICAgICAg
ICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwJywKICAgICAgICAgICAgICd3
b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuaCcsCisgICAgICAgICAgICAnd29ya2Vycy9TaGFy
ZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCcsCiAgICAgICAgICAgICAnd29ya2Vycy9TaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFk
LmNwcCcsCiAgICAgICAgICAgICAnd29ya2Vycy9TaGFyZWRXb3JrZXJUaHJlYWQuaCcsCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAkocmV2aXNpb24gMTQ1MzcxKQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAJKHdvcmtpbmcgY29weSkK
QEAgLTIxMzEsNiArMjEzMSw3IEBACiAgICAgICAgIFsnZXhjbHVkZScsICdzdG9yYWdlL1N0b3Jh
Z2VUaHJlYWRcXC4oY3BwfGgpJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnc3RvcmFnZS9TdG9y
YWdlVHJhY2tlclxcLihjcHB8aCkkJ10sCiAgICAgICAgIFsnZXhjbHVkZScsICdzdG9yYWdlL1N0
b3JhZ2VUcmFja2VyQ2xpZW50XFwuaCQnXSwKKyAgICAgICAgWydleGNsdWRlJywgJ3dvcmtlcnMv
U2hhcmVkV29ya2VyUmVwb3NpdG9yeVxcLmNwcCQnXSwKICAgICAgICAgWydleGNsdWRlJywgJ3dv
cmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnlcXC4oY3BwfGgpJCddLAogCiAgICAg
ICAgIFsnaW5jbHVkZScsICdsb2FkZXIvYXBwY2FjaGUvQXBwbGljYXRpb25DYWNoZUhvc3RcLmgk
J10sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvago9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJv
agkocmV2aXNpb24gMTQ1MzcxKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTU2Njk1LDYgKzU2Njk1LDEwIEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXHdvcmtlcnNcU2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5jcHAiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXHdvcmtlcnNcU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIgogCQkJ
CT4KIAkJCTwvRmlsZT4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE0NTM3MSkKKysrIFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkod29ya2luZyBjb3B5KQpAQCAtNjI2
OCw2ICs2MjY4LDcgQEAKIAkJRTFCMjUxMDcxNTJBMEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgg
Ki87IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1h
Yy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRD
RDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKIAkJ
RTFCNzgzOUMxNjM3NDBBNzAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclN0cmF0ZWd5LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODM5QjE2Mzc0MEE3
MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMUI3ODQyMDE2MzlDQkJFMDAwN0I2OTIgLyog
U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5jcHAgKi87IH07CiAJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xU
VW5pY29kZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi87
IH07CiAJCUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQkU1MTJDMENGNkM1
MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLzsgfTsKIAkJRTFDMkYyNEExNTMzQTIx
MjAwODNGOTc0IC8qIFNldHRpbmdzTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRTFDMkYyNDgxNTMzQTIxMjAwODNGOTc0IC8qIFNldHRpbmdzTWFj
Lm1tICovOyB9OwpAQCAtMTM5NzcsNiArMTM5NzgsNyBAQAogCQlFMUIyNTEwNTE1MkEwQkFGMDA2
OUI3NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1h
Yy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IENyZWRlbnRpYWxT
dG9yYWdlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUI3ODM5QjE2Mzc0
MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBuYW1lID0gU2hhcmVkV29ya2VyU3RyYXRlZ3kuaDsgcGF0aCA9IHdvcmtlcnMvU2hh
cmVkV29ya2VyU3RyYXRlZ3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFCNzg0
MUYxNjM5Q0JCRTAwMDdCNjkyIC8qIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHA7
IHBhdGggPSB3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlFMUJFNTEyQjBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVT
b3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhTTFRVbmljb2Rl
U29ydC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1MTJDMENGNkM1MTIw
MDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gWFNMVFVuaWNvZGVTb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
QzJGMjQ4MTUzM0EyMTIwMDgzRjk3NCAvKiBTZXR0aW5nc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNldHRpbmdzTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMTU1MTgsNiArMTU1MjAsNyBAQAogCQkJCTQxRDE2OERGMTAyMjZFODkw
MDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmNwcCAqLywKIAkJCQk0MUQxNjhFMDEwMjI2
RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyQ29udGV4dC5oICovLAogCQkJCTQxRDE2OEUxMTAy
MjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmlkbCAqLywKKwkJCQlFMUI3ODQx
RjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgKi8sCiAJCQkJ
NDFEMTY4RTIxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCAqLywK
IAkJCQlFMUI3ODM5QjE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2VyU3RyYXRlZ3kuaCAq
LywKIAkJCQk0MUQxNjhFNTEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2VyVGhyZWFkLmNw
cCAqLywKQEAgLTI5MzU5LDYgKzI5MzYyLDcgQEAKIAkJCQk5MzMwOUVBMjA5OUVCNzhDMDA1NkU1
ODEgLyogU2hhcmVkVGltZXJNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk0MUUxQjFEMzBGRjU5
ODY5MDA1NzZCM0IgLyogU2hhcmVkV29ya2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRDE2
OEU3MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUUxQjc4NDIwMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQxRDE2OEVEMTAyMjZFODkwMDlCQzgyNyAvKiBT
aGFyZWRXb3JrZXJUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJDM0RBNjQwRDAwNkNE
NjAwRUY2RjI2IC8qIFNpbXBsZUZvbnREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTE2M0U4
OEY3MTE4QTM5RDIwMEVEOTIzMSAvKiBTaW1wbGVGb250RGF0YUNvcmVUZXh0LmNwcCBpbiBTb3Vy
Y2VzICovLApJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZh
dWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAJKHJldmlzaW9uIDE0NTM3MSkKKysrIFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMTUsNyArMzE1LDcgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2Fk
ZXI6OmxvYWQoY29ucwogCiAgICAgLy8gTWFyayB0aGlzIG9iamVjdCBhcyBhY3RpdmUgZm9yIHRo
ZSBkdXJhdGlvbiBvZiB0aGUgbG9hZC4KICAgICBtX3NjcmlwdExvYWRlciA9IFdvcmtlclNjcmlw
dExvYWRlcjo6Y3JlYXRlKCk7Ci0jaWYgUExBVEZPUk0oQ0hST01JVU0pIHx8IFBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKICAgICBtX3NjcmlwdExvYWRlci0+
c2V0VGFyZ2V0VHlwZShSZXNvdXJjZVJlcXVlc3Q6OlRhcmdldElzU2hhcmVkV29ya2VyKTsKICNl
bmRpZgogICAgIG1fc2NyaXB0TG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkobV93b3JrZXItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdXJsLCBEZW55Q3Jvc3NPcmlnaW5SZXF1ZXN0cywgdGhp
cyk7CkBAIC0zNjYsMjcgKzM2Niw2IEBAIHZvaWQgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRv
cnk6OndvcmsKICAgICBwcm94eS50aHJlYWQoKS0+cnVuTG9vcCgpLnBvc3RUYXNrKFNoYXJlZFdv
cmtlckNvbm5lY3RUYXNrOjpjcmVhdGUocG9ydCkpOwogfQogCi1ib29sIFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6OmlzQXZhaWxhYmxlKCkKLXsKLSAgICAvLyBTaGFyZWRXb3JrZXJzIGFyZSBlbmFi
bGVkIG9uIHRoZSBkZWZhdWx0IFdlYktpdCBwbGF0Zm9ybS4KLSAgICByZXR1cm4gdHJ1ZTsKLX0K
LQotdm9pZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpjb25uZWN0KFBhc3NSZWZQdHI8U2hhcmVk
V29ya2VyPiB3b3JrZXIsIFBhc3NPd25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPiBwb3J0LCBjb25z
dCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0g
ICAgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuY29ubmVjdFRvV29y
a2VyKHdvcmtlciwgcG9ydCwgdXJsLCBuYW1lLCBlYyk7Ci19Ci0KLXZvaWQgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeTo6ZG9jdW1lbnREZXRhY2hlZChEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAg
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuZG9jdW1lbnREZXRhY2hl
ZChkb2N1bWVudCk7Ci19Ci0KLWJvb2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aGFzU2hhcmVk
V29ya2VycyhEb2N1bWVudCogZG9jdW1lbnQpCi17Ci0gICAgcmV0dXJuIERlZmF1bHRTaGFyZWRX
b3JrZXJSZXBvc2l0b3J5OjppbnN0YW5jZSgpLmhhc1NoYXJlZFdvcmtlcnMoZG9jdW1lbnQpOwot
fQotCiBib29sIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJz
KERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAgICBNdXRleExvY2tlciBsb2NrKG1fbG9jayk7CkBA
IC00MjEsNyArNDAwLDEwIEBAIHZvaWQgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6OmNv
bm4KICAgICBBU1NFUlQod29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnNlY3VyaXR5
T3JpZ2luKCktPmNhbkFjY2VzcyhTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKHVybCkuZ2V0KCkpKTsK
ICAgICAvLyBGZXRjaCBhIHByb3h5IGNvcnJlc3BvbmRpbmcgdG8gdGhpcyBTaGFyZWRXb3JrZXIu
CiAgICAgUmVmUHRyPFNoYXJlZFdvcmtlclByb3h5PiBwcm94eSA9IGdldFByb3h5KG5hbWUsIHVy
bCk7CisKKyAgICAvLyBGSVhNRTogV2h5IGlzIHRoaXMgZG9uZSBldmVuIGlmIHdlIGFyZSByYWlz
aW5nIGFuIGV4Y2VwdGlvbiBiZWxvdz8KICAgICBwcm94eS0+YWRkVG9Xb3JrZXJEb2N1bWVudHMo
d29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpOworCiAgICAgaWYgKHByb3h5LT51cmwo
KSAhPSB1cmwpIHsKICAgICAgICAgLy8gUHJveHkgYWxyZWFkeSBleGlzdGVkIHVuZGVyIGFsdGVy
bmF0ZSBVUkwgLSByZXR1cm4gYW4gZXJyb3IuCiAgICAgICAgIGVjID0gVVJMX01JU01BVENIX0VS
UjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA5IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShTSEFSRURfV09SS0VSUykK
KworI2luY2x1ZGUgIlNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKKworI2luY2x1ZGUgIkRlZmF1
bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCisj
aW5jbHVkZSAiTWVzc2FnZVBvcnRDaGFubmVsLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Ym9vbCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojppc0F2YWlsYWJsZSgpCit7CisgICAgLy8gU2hh
cmVkV29ya2VycyBhcmUgZW5hYmxlZCBvbiB0aGUgZGVmYXVsdCBXZWJLaXQgcGxhdGZvcm0uCisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6Y29ubmVj
dChQYXNzUmVmUHRyPFNoYXJlZFdvcmtlcj4gd29ya2VyLCBQYXNzT3duUHRyPE1lc3NhZ2VQb3J0
Q2hhbm5lbD4gcG9ydCwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQoreworICAgIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjppbnN0
YW5jZSgpLmNvbm5lY3RUb1dvcmtlcih3b3JrZXIsIHBvcnQsIHVybCwgbmFtZSwgZWMpOworfQor
Cit2b2lkIFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6OmRvY3VtZW50RGV0YWNoZWQoRG9jdW1lbnQq
IGRvY3VtZW50KQoreworICAgIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjppbnN0YW5j
ZSgpLmRvY3VtZW50RGV0YWNoZWQoZG9jdW1lbnQpOworfQorCitib29sIFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6Omhhc1NoYXJlZFdvcmtlcnMoRG9jdW1lbnQqIGRvY3VtZW50KQoreworICAgIHJl
dHVybiBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aW5zdGFuY2UoKS5oYXNTaGFyZWRX
b3JrZXJzKGRvY3VtZW50KTsKK30KKworfQorCisjZW5kaWYKClByb3BlcnR5IGNoYW5nZXMgb246
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAKX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpBZGRlZDogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoK
</data>
<flag name="review"
          id="213850"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>192605</attachid>
            <date>2013-03-11 17:28:52 -0700</date>
            <delta_ts>2013-03-11 19:26:29 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>repository.cpp.txt</filename>
            <type>text/plain</type>
            <size>14021</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE0NTQxNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTExICBBbGV4ZXkg
UHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeSBmdW5jdGlvbnMgb3V0IG9mIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDA0MTgK
KworICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgICogQ01ha2VMaXN0
cy50eHQ6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQu
cHJpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkZWQgU2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHAuCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cDoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgIENocm9taXVtIHVzZXMgV2ViS2l0
L2Nocm9taXVtL3NyYy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBpbnN0ZWFkIG9mCisgICAg
ICAgIFdlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAuIE5v
dCBzdXJlIHdoeSBpdCdzIGFkZGVkIGFuZAorICAgICAgICB0aGVuIGV4Y2x1ZGVkLCBidXQgZGlk
IHRoZSBzYW1lIHdpdGggdGhlIG5ldyBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCwgd2hpY2gK
KyAgICAgICAganVzdCBjb250YWlucyBzb21lIGNvZGUgbW92ZWQgZnJvbSB0aGF0IGZpbGUuCisK
KyAgICAgICAgKiB3b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZCk6IFJlbW92ZWQg
YSBQTEFURk9STShDSFJPTUlVTSkgY2xhdXNlLAorICAgICAgICBjaHJvbWl1bSBkb2Vzbid0IGNv
bXBpbGUgdGhpcyBmaWxlLgorICAgICAgICAoV2ViQ29yZTo6RGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6OmNvbm5lY3RUb1dvcmtlcik6IEFkZGVkIGEgRklYTUUgYWJvdXQKKyAgICAgICAg
c2VlbWluZ2x5IHdyb25nIGNvZGUuCisKKyAgICAgICAgKiB3b3JrZXJzL1NoYXJlZFdvcmtlclJl
cG9zaXRvcnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmlzQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZFdvcmtlclJlcG9z
aXRvcnk6OmNvbm5lY3QpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkV29ya2VyUmVwb3NpdG9y
eTo6ZG9jdW1lbnREZXRhY2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKToKKyAgICAgICAgTW92ZWQgZnJvbSBEZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeS5jcHAsIGJlY2F1c2UgdGhpcyBpcyBwYXJ0IG9mIFNoYXJlZFdv
cmtlclJlcG9zaXRvcnkuCisKIDIwMTMtMDMtMTEgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2hyb21pdW0gYnVpbGQgZml4LiBGb3JrZWQgZmlsZXMgc3Ry
aWtlIGFnYWluLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE0NTM3MSkKKysr
IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yNTIxLDYg
KzI1MjEsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgd29ya2Vycy9EZWZhdWx0U2hhcmVk
V29ya2VyUmVwb3NpdG9yeS5jcHAKICAgICB3b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAKICAgICB3
b3JrZXJzL1NoYXJlZFdvcmtlckNvbnRleHQuY3BwCisgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmNwcAogICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAogICAgIHdv
cmtlcnMvV29ya2VyLmNwcAogICAgIHdvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gMTQ1MzcxKQorKysgU291cmNlL1dl
YkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkod29ya2luZyBjb3B5KQpAQCAtNDcxOCw2ICs0NzE4
LDcgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJl
ZFdvcmtlckNvbnRleHQuaCBcCiAJU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKIAlTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCBcCiAJU291cmNlL1dlYkNvcmUv
d29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oIFwKIAlTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgXApJbmRleDogU291cmNlL1dlYkNvcmUvVGFyZ2V0LnBy
aQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCShyZXZpc2lvbiAxNDUz
NzEpCisrKyBTb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCSh3b3JraW5nIGNvcHkpCkBAIC0zMjY0
LDYgKzMyNjQsNyBAQCBlbmFibGU/KFNIQVJFRF9XT1JLRVJTKSB7CiAgICAgICAgIHdvcmtlcnMv
RGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIFwKICAgICAgICAgd29ya2Vycy9TaGFy
ZWRXb3JrZXIuY3BwIFwKICAgICAgICAgd29ya2Vycy9TaGFyZWRXb3JrZXJDb250ZXh0LmNwcCBc
CisgICAgICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5jcHAgXAogICAgICAgICB3
b3JrZXJzL1NoYXJlZFdvcmtlclRocmVhZC5jcHAKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQko
cmV2aXNpb24gMTQ1MzcxKQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCSh3b3JraW5n
IGNvcHkpCkBAIC0yNzQxLDYgKzI3NDEsNyBAQAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVk
V29ya2VyLmgnLAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5jcHAn
LAogICAgICAgICAgICAgJ3dvcmtlcnMvU2hhcmVkV29ya2VyQ29udGV4dC5oJywKKyAgICAgICAg
ICAgICd3b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwJywKICAgICAgICAgICAgICd3
b3JrZXJzL1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCcsCiAgICAgICAgICAgICAnd29ya2Vycy9T
aGFyZWRXb3JrZXJUaHJlYWQuY3BwJywKICAgICAgICAgICAgICd3b3JrZXJzL1NoYXJlZFdvcmtl
clRocmVhZC5oJywKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCShy
ZXZpc2lvbiAxNDUzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAkod29ya2luZyBjb3B5KQpAQCAtMjEzMSw2ICsyMTMxLDcgQEAKICAgICAgICAgWydleGNsdWRl
JywgJ3N0b3JhZ2UvU3RvcmFnZVRocmVhZFxcLihjcHB8aCkkJ10sCiAgICAgICAgIFsnZXhjbHVk
ZScsICdzdG9yYWdlL1N0b3JhZ2VUcmFja2VyXFwuKGNwcHxoKSQnXSwKICAgICAgICAgWydleGNs
dWRlJywgJ3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXJDbGllbnRcXC5oJCddLAorICAgICAgICBbJ2V4
Y2x1ZGUnLCAnd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5XFwuY3BwJCddLAogICAgICAg
ICBbJ2V4Y2x1ZGUnLCAnd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeVxcLihj
cHB8aCkkJ10sCiAKICAgICAgICAgWydpbmNsdWRlJywgJ2xvYWRlci9hcHBjYWNoZS9BcHBsaWNh
dGlvbkNhY2hlSG9zdFwuaCQnXSwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCShyZXZpc2lvbiAxNDUzNzEpCisrKyBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtNTY2OTUsNiAr
NTY2OTUsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iLi5cd29ya2Vyc1xTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cd29ya2Vyc1xTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5LmgiCiAJCQkJPgogCQkJPC9GaWxlPgpJbmRleDogU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTQ1MzcxKQor
KysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MjY4LDYgKzYyNjgsNyBAQAogCQlFMUIyNTEwNzE1MkEwQkIwMDA2OUI3
NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCMjUxMDUxNTJBMEJBRjAwNjlCNzc5IC8qIFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQuaCAqLzsgfTsKIAkJRTFCNENEMjUxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENyZWRlbnRpYWxTdG9yYWdl
TWFjLm1tICovOyB9OwogCQlFMUI3ODM5QzE2Mzc0MEE3MDAwN0I2OTIgLyogU2hhcmVkV29ya2Vy
U3RyYXRlZ3kuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUUxQjc4NDIwMTYz
OUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjc4NDFGMTYzOUNCQkUwMDA3QjY5
MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcCAqLzsgfTsKIAkJRTFCRTUxMkQwQ0Y2QzUx
MjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUJFNTEyQjBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVu
aWNvZGVTb3J0LmNwcCAqLzsgfTsKIAkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRV
bmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oICovOyB9Owog
CQlFMUMyRjI0QTE1MzNBMjEyMDA4M0Y5NzQgLyogU2V0dGluZ3NNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUMyRjI0ODE1MzNBMjEyMDA4M0Y5
NzQgLyogU2V0dGluZ3NNYWMubW0gKi87IH07CkBAIC0xMzk3Nyw2ICsxMzk3OCw3IEBACiAJCUUx
QjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTFCNENEMjQxMEIzMjJFMjAwQkZGRDdFIC8qIENy
ZWRlbnRpYWxTdG9yYWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gQ3JlZGVudGlhbFN0b3JhZ2VNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJTdHJhdGVneS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBTaGFyZWRXb3JrZXJTdHJhdGVneS5oOyBw
YXRoID0gd29ya2Vycy9TaGFyZWRXb3JrZXJTdHJhdGVneS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlFMUI3ODQxRjE2MzlDQkJFMDAwN0I2OTIgLyogU2hhcmVkV29ya2VyUmVwb3Np
dG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTaGFyZWRXb3Jr
ZXJSZXBvc2l0b3J5LmNwcDsgcGF0aCA9IHdvcmtlcnMvU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxQkU1MTJCMENGNkM1MTIwMDJFQTk1
OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gWFNMVFVuaWNvZGVTb3J0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RTFCRTUxMkMwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTFDMkYyNDgxNTMzQTIxMjAwODNGOTc0IC8qIFNldHRpbmdzTWFjLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2V0dGluZ3NNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTUxOCw2ICsxNTUyMCw3IEBACiAJCQkJ
NDFEMTY4REYxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlckNvbnRleHQuY3BwICovLAog
CQkJCTQxRDE2OEUwMTAyMjZFODkwMDlCQzgyNyAvKiBTaGFyZWRXb3JrZXJDb250ZXh0LmggKi8s
CiAJCQkJNDFEMTY4RTExMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlckNvbnRleHQuaWRs
ICovLAorCQkJCUUxQjc4NDFGMTYzOUNCQkUwMDA3QjY5MiAvKiBTaGFyZWRXb3JrZXJSZXBvc2l0
b3J5LmNwcCAqLywKIAkJCQk0MUQxNjhFMjEwMjI2RTg5MDA5QkM4MjcgLyogU2hhcmVkV29ya2Vy
UmVwb3NpdG9yeS5oICovLAogCQkJCUUxQjc4MzlCMTYzNzQwQTcwMDA3QjY5MiAvKiBTaGFyZWRX
b3JrZXJTdHJhdGVneS5oICovLAogCQkJCTQxRDE2OEU1MTAyMjZFODkwMDlCQzgyNyAvKiBTaGFy
ZWRXb3JrZXJUaHJlYWQuY3BwICovLApAQCAtMjkzNTksNiArMjkzNjIsNyBAQAogCQkJCTkzMzA5
RUEyMDk5RUI3OEMwMDU2RTU4MSAvKiBTaGFyZWRUaW1lck1hYy5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTQxRTFCMUQzMEZGNTk4NjkwMDU3NkIzQiAvKiBTaGFyZWRXb3JrZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNDFEMTY4RTcxMDIyNkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlckNvbnRl
eHQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRTFCNzg0MjAxNjM5Q0JCRTAwMDdCNjkyIC8qIFNo
YXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDFEMTY4RUQxMDIy
NkU4OTAwOUJDODI3IC8qIFNoYXJlZFdvcmtlclRocmVhZC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMkMzREE2NDBEMDA2Q0Q2MDBFRjZGMjYgLyogU2ltcGxlRm9udERhdGEuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMTYzRTg4RjcxMThBMzlEMjAwRUQ5MjMxIC8qIFNpbXBsZUZvbnREYXRhQ29y
ZVRleHQuY3BwIGluIFNvdXJjZXMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkocmV2aXNpb24g
MTQ1MzcxKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWZhdWx0U2hhcmVkV29ya2VyUmVw
b3NpdG9yeS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxNSw3ICszMTUsNyBAQCB2b2lkIFNoYXJl
ZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChjb25zCiAKICAgICAvLyBNYXJrIHRoaXMgb2JqZWN0
IGFzIGFjdGl2ZSBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBsb2FkLgogICAgIG1fc2NyaXB0TG9h
ZGVyID0gV29ya2VyU2NyaXB0TG9hZGVyOjpjcmVhdGUoKTsKLSNpZiBQTEFURk9STShDSFJPTUlV
TSkgfHwgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyNpZiBQTEFURk9STShCTEFDS0JFUlJZKQogICAg
IG1fc2NyaXB0TG9hZGVyLT5zZXRUYXJnZXRUeXBlKFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNT
aGFyZWRXb3JrZXIpOwogI2VuZGlmCiAgICAgbV9zY3JpcHRMb2FkZXItPmxvYWRBc3luY2hyb25v
dXNseShtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCB1cmwsIERlbnlDcm9zc09y
aWdpblJlcXVlc3RzLCB0aGlzKTsKQEAgLTM2NiwyNyArMzY2LDYgQEAgdm9pZCBEZWZhdWx0U2hh
cmVkV29ya2VyUmVwb3NpdG9yeTo6d29yawogICAgIHByb3h5LnRocmVhZCgpLT5ydW5Mb29wKCku
cG9zdFRhc2soU2hhcmVkV29ya2VyQ29ubmVjdFRhc2s6OmNyZWF0ZShwb3J0KSk7CiB9CiAKLWJv
b2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aXNBdmFpbGFibGUoKQotewotICAgIC8vIFNoYXJl
ZFdvcmtlcnMgYXJlIGVuYWJsZWQgb24gdGhlIGRlZmF1bHQgV2ViS2l0IHBsYXRmb3JtLgotICAg
IHJldHVybiB0cnVlOwotfQotCi12b2lkIFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6OmNvbm5lY3Qo
UGFzc1JlZlB0cjxTaGFyZWRXb3JrZXI+IHdvcmtlciwgUGFzc093blB0cjxNZXNzYWdlUG9ydENo
YW5uZWw+IHBvcnQsIGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcHRp
b25Db2RlJiBlYykKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aW5zdGFu
Y2UoKS5jb25uZWN0VG9Xb3JrZXIod29ya2VyLCBwb3J0LCB1cmwsIG5hbWUsIGVjKTsKLX0KLQot
dm9pZCBTaGFyZWRXb3JrZXJSZXBvc2l0b3J5Ojpkb2N1bWVudERldGFjaGVkKERvY3VtZW50KiBk
b2N1bWVudCkKLXsKLSAgICBEZWZhdWx0U2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aW5zdGFuY2Uo
KS5kb2N1bWVudERldGFjaGVkKGRvY3VtZW50KTsKLX0KLQotYm9vbCBTaGFyZWRXb3JrZXJSZXBv
c2l0b3J5OjpoYXNTaGFyZWRXb3JrZXJzKERvY3VtZW50KiBkb2N1bWVudCkKLXsKLSAgICByZXR1
cm4gRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6Omluc3RhbmNlKCkuaGFzU2hhcmVkV29y
a2Vycyhkb2N1bWVudCk7Ci19Ci0KIGJvb2wgRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6
Omhhc1NoYXJlZFdvcmtlcnMoRG9jdW1lbnQqIGRvY3VtZW50KQogewogICAgIE11dGV4TG9ja2Vy
IGxvY2sobV9sb2NrKTsKQEAgLTQyMSw3ICs0MDAsMTAgQEAgdm9pZCBEZWZhdWx0U2hhcmVkV29y
a2VyUmVwb3NpdG9yeTo6Y29ubgogICAgIEFTU0VSVCh3b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKS0+c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzKFNlY3VyaXR5T3JpZ2luOjpjcmVh
dGUodXJsKS5nZXQoKSkpOwogICAgIC8vIEZldGNoIGEgcHJveHkgY29ycmVzcG9uZGluZyB0byB0
aGlzIFNoYXJlZFdvcmtlci4KICAgICBSZWZQdHI8U2hhcmVkV29ya2VyUHJveHk+IHByb3h5ID0g
Z2V0UHJveHkobmFtZSwgdXJsKTsKKworICAgIC8vIEZJWE1FOiBXaHkgaXMgdGhpcyBkb25lIGV2
ZW4gaWYgd2UgYXJlIHJhaXNpbmcgYW4gZXhjZXB0aW9uIGJlbG93PwogICAgIHByb3h5LT5hZGRU
b1dvcmtlckRvY3VtZW50cyh3b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSk7CisKICAg
ICBpZiAocHJveHktPnVybCgpICE9IHVybCkgewogICAgICAgICAvLyBQcm94eSBhbHJlYWR5IGV4
aXN0ZWQgdW5kZXIgYWx0ZXJuYXRlIFVSTCAtIHJldHVybiBhbiBlcnJvci4KICAgICAgICAgZWMg
PSBVUkxfTUlTTUFUQ0hfRVJSOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJSZXBvc2l0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlclJlcG9zaXRvcnkuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBvc2l0b3J5LmNwcAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxF
KFNIQVJFRF9XT1JLRVJTKQorCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyUmVwb3NpdG9yeS5oIgor
CisjaW5jbHVkZSAiRGVmYXVsdFNoYXJlZFdvcmtlclJlcG9zaXRvcnkuaCIKKyNpbmNsdWRlICJN
ZXNzYWdlUG9ydENoYW5uZWwuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitib29sIFNoYXJlZFdvcmtlclJlcG9zaXRvcnk6OmlzQXZhaWxhYmxl
KCkKK3sKKyAgICAvLyBTaGFyZWRXb3JrZXJzIGFyZSBlbmFibGVkIG9uIHRoZSBkZWZhdWx0IFdl
YktpdCBwbGF0Zm9ybS4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBTaGFyZWRXb3JrZXJS
ZXBvc2l0b3J5Ojpjb25uZWN0KFBhc3NSZWZQdHI8U2hhcmVkV29ya2VyPiB3b3JrZXIsIFBhc3NP
d25QdHI8TWVzc2FnZVBvcnRDaGFubmVsPiBwb3J0LCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgRGVmYXVsdFNoYXJlZFdvcmtl
clJlcG9zaXRvcnk6Omluc3RhbmNlKCkuY29ubmVjdFRvV29ya2VyKHdvcmtlciwgcG9ydCwgdXJs
LCBuYW1lLCBlYyk7Cit9CisKK3ZvaWQgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6ZG9jdW1lbnRE
ZXRhY2hlZChEb2N1bWVudCogZG9jdW1lbnQpCit7CisgICAgRGVmYXVsdFNoYXJlZFdvcmtlclJl
cG9zaXRvcnk6Omluc3RhbmNlKCkuZG9jdW1lbnREZXRhY2hlZChkb2N1bWVudCk7Cit9CisKK2Jv
b2wgU2hhcmVkV29ya2VyUmVwb3NpdG9yeTo6aGFzU2hhcmVkV29ya2VycyhEb2N1bWVudCogZG9j
dW1lbnQpCit7CisgICAgcmV0dXJuIERlZmF1bHRTaGFyZWRXb3JrZXJSZXBvc2l0b3J5OjppbnN0
YW5jZSgpLmhhc1NoYXJlZFdvcmtlcnMoZG9jdW1lbnQpOworfQorCit9CisKKyNlbmRpZgoKUHJv
cGVydHkgY2hhbmdlcyBvbjogU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJSZXBv
c2l0b3J5LmNwcApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiAgICsgbmF0aXZlCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>