<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>8730</bug_id>
          
          <creation_ts>2015-11-26 18:22:12 +0000</creation_ts>
          <short_desc>separate code generating python manifest file from manifest information and improve the manifest generation</short_desc>
          <delta_ts>2018-01-22 14:15:49 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>2.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>2.5 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>wrobell</reporter>
          <assigned_to name="Ross Burton">ross.burton</assigned_to>
          <cc>alejandro.hernandez</cc>
    
    <cc>benjamin.esquivel</cc>
    
    <cc>leonardo.sandoval.gonzalez</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>wrobell</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>56822</commentid>
    <comment_count>0</comment_count>
      <attachid>2868</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 18:22:12 +0000</bug_when>
    <thetext>Created attachment 2868
Manifest generation code

Python manifest file is generated with generate-manifest-*.py scripts.

The scripts have several issues

- very long manifest lines are generated, so mailing list is rejecting
  each patch against the manifest file (I was requested once to send
  patch against both the manifest generation code and the generated manifest
  file as well)
- the script has 388 lines and 381 PEP-8 violations
- the manifest input data and code is coupled together, so we need new
  script for different versions of python (2.7 vs. 3.x)

I am attaching rewritten script, which uses separate manifest
input file (in JSON format). The attached manifest file is for
Python 3.5 (should work for Python 3.4 as well).

Usage:

    $ python2 ./generate-manifest.py &lt; python-3.5-manifest-input.json &gt; python-3.5-manifest.inc

The script itself requires Python 3.x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56823</commentid>
    <comment_count>1</comment_count>
      <attachid>2869</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 18:22:41 +0000</bug_when>
    <thetext>Created attachment 2869
Python 3.5 manifest data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56825</commentid>
    <comment_count>2</comment_count>
      <attachid>2870</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 21:00:58 +0000</bug_when>
    <thetext>Created attachment 2870
Manifest generation code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56826</commentid>
    <comment_count>3</comment_count>
      <attachid>2871</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 21:01:34 +0000</bug_when>
    <thetext>Created attachment 2871
Python 3.5 manifest data</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56827</commentid>
    <comment_count>4</comment_count>
      <attachid>2872</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 21:02:40 +0000</bug_when>
    <thetext>Created attachment 2872
Manifest generation code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56829</commentid>
    <comment_count>5</comment_count>
    <who name="Paul Eggleton">bluelightning</who>
    <bug_when>2015-11-26 21:58:04 +0000</bug_when>
    <thetext>Hmm, just noticed - you say the script itself requires Python 3.x (which might be an issue for us, at least at the moment) but your example shows running it under python2... ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56831</commentid>
    <comment_count>6</comment_count>
      <attachid>2873</attachid>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 23:48:10 +0000</bug_when>
    <thetext>Created attachment 2873
Manifest generation script (python 2 and py3k compatible)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56832</commentid>
    <comment_count>7</comment_count>
    <who name="">wrobell</who>
    <bug_when>2015-11-26 23:49:38 +0000</bug_when>
    <thetext>the example of running the script - copy&amp;paste from wrong terminal

anyway, attached new version of the manifest file generation script. this version works with both python 2 and py3k.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>71224</commentid>
    <comment_count>8</comment_count>
    <who name="Jose Lamego">jose.a.lamego</who>
    <bug_when>2017-03-13 20:38:06 +0000</bug_when>
    <thetext>Moving to 2.4 due to workload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75773</commentid>
    <comment_count>9</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-08-09 15:44:28 +0000</bug_when>
    <thetext>Alex, is this something already covered by your recent work on manifest generation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75774</commentid>
    <comment_count>10</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-08-09 15:50:59 +0000</bug_when>
    <thetext>(In reply to comment #9)
&gt; Alex, is this something already covered by your recent work on manifest
&gt; generation?

Yes, everything here will be covered, assigning it to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76211</commentid>
    <comment_count>11</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-08-28 21:42:49 +0000</bug_when>
    <thetext>Done, but moving to 2.5 per Richard&apos;s request</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79178</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2018-01-22 14:15:49 +0000</bug_when>
    <thetext>Fixed in oe-core 3328211afdef8ffb00dd4dff1143959d5412b075.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2868</attachid>
            <date>2015-11-26 18:22:12 +0000</date>
            <delta_ts>2015-11-26 21:02:40 +0000</delta_ts>
            <desc>Manifest generation code</desc>
            <filename>generate-manifest.py</filename>
            <type>text/x-python</type>
            <size>1670</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW1wb3J0IGpzb24KaW1wb3J0IHN5cwoKCmRlZiBtYW5p
ZmVzdF9saW5lcyhwYWNrYWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKToKICAgIHlpZWxk
IGZtdF9saW5lKHBhY2thZ2UsICcnLCBmbXRfaXRlbShpdGVtc1swXSkpCiAgICBpZiBsZW4oaXRl
bXMpID4gMToKICAgICAgICBpdGVtcyA9IGl0ZW1zWzE6XQogICAgICAgIGl0ZW1zID0gKGZtdF9p
dGVtKHMpIGZvciBzIGluIGl0ZW1zKQogICAgICAgIHlpZWxkIGZyb20gKGZtdF9saW5lKHBhY2th
Z2UsICcrJywgcykgZm9yIHMgaW4gaXRlbXMpCgoKZGVmIHByaW50X2xpbmVzKHBhY2thZ2UsIGl0
ZW1zLCBmbXRfbGluZSwgZm10X2l0ZW0pOgogICAgbGluZXMgPSBtYW5pZmVzdF9saW5lcyhwYWNr
YWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKQogICAgcHJpbnQoJ1xuJy5qb2luKGxpbmVz
KSkKICAgIHByaW50KCkKCgpkZWYgZm10X2ZpbGUocyk6CiAgICByZXR1cm4gaWYgcy5zdGFydHN3
aXRoKCckeycpIFwKICAgICAgICBlbHNlICcke3tsaWJkaXJ9fS9weXRob24ke3tQWVRIT05fQkFT
RVZFUlNJT059fS97fScuZm9ybWF0KHMpCgoKZm10X3MgPSAnU1VNTUFSWV8ke3tQTn19LXt9ID0g
Int9IicuZm9ybWF0CmZtdF9kID0gJ1JERVBFTkRTXyR7e1BOfX0te30ge309ICJ7fSInLmZvcm1h
dApmbXRfZiA9ICdGSUxFU18ke3tQTn19LXt9IHt9PSAie30iJy5mb3JtYXQKZm10X3AgPSAnUEFD
S0FHRVN7Oi4wfSB7fT0gInt9IicuZm9ybWF0ICAjIG5vdGU6IHBhY2thZ2UgbmFtZSBpcyBpZ25v
cmVkCmZtdF9wYWNrYWdlID0gJyR7e1BOfX0te30nLmZvcm1hdAoKZGF0YSA9IGpzb24ubG9hZChz
eXMuc3RkaW4pCgpwcmludCgKICAgICcjXG4jIFdBUk5JTkc6IFRoaXMgZmlsZSBpcyBBVVRPIEdF
TkVSQVRFRDogTWFudWFsIGVkaXRzIHdpbGwnCiAgICAnIGJlIGxvc3QuXG4jXG4nCikKCnBhY2th
Z2VzID0gc29ydGVkKGxpc3QoZGF0YSkgKyBbJ21vZHVsZXMnXSkKcGFja2FnZXMgPSAoJ1BST1ZJ
REVTICs9ICIke3tQTn19LXt9IicuZm9ybWF0KHMpIGZvciBzIGluIHBhY2thZ2VzKQpwcmludCgn
XG4nLmpvaW4ocGFja2FnZXMpKQpwcmludCgpCgpwYWNrYWdlcyA9IHNvcnRlZChsaXN0KGRhdGEp
ICsgWydkYmcnLCAnbW9kdWxlcyddKQpwcmludF9saW5lcygnJywgcGFja2FnZXMsIGZtdF9wLCBm
bXRfcGFja2FnZSkKCmZvciBwYWNrYWdlLCBpbmZvIGluIHNvcnRlZChkYXRhLml0ZW1zKCkpOgog
ICAgcHJpbnQoZm10X3MocGFja2FnZSwgaW5mb1snZGVzYyddKSkKCiAgICBwcmludF9saW5lcyhw
YWNrYWdlLCBpbmZvWydkZXBzJ10sIGZtdF9kLCBmbXRfcGFja2FnZSkKICAgIHByaW50X2xpbmVz
KHBhY2thZ2UsIGluZm9bJ2ZpbGVzJ10sIGZtdF9mLCBmbXRfZmlsZSkKCmlzX29rID0gbGFtYmRh
IHM6IG5vdCAocyBpbiB7J2RldicsICdkaXN0dXRpbHMtc3RhdGljZGV2J30gb3Igcy5lbmRzd2l0
aCgndGVzdHMnKSkKZGVwcyA9IFtzIGZvciBzIGluIGRhdGEgaWYgaXNfb2socyldCnByaW50KGZt
dF9zKCdtb2R1bGVzJywgJ0FsbCBQeXRob24gbW9kdWxlcycpKQpwcmludF9saW5lcygnbW9kdWxl
cycsIGRlcHMsIGZtdF9kLCBmbXRfcGFja2FnZSkKCnByaW50KCdcbkFMTE9XX0VNUFRZXyR7UE59
LW1vZHVsZXMgPSAiMSInKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2869</attachid>
            <date>2015-11-26 18:22:41 +0000</date>
            <delta_ts>2015-11-26 21:01:34 +0000</delta_ts>
            <desc>Python 3.5 manifest data</desc>
            <filename>python-3.5-manifest-input.json</filename>
            <type>application/json</type>
            <size>16715</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">ewogICAgImNvcmUiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGludGVycHJldGVyIGFuZCBj
b3JlIG1vZHVsZXMiLAogICAgICAgICJkZXBzIjogWyJsYW5nIiwgInJlIiwgInJlcHJsaWIiLCAi
Y29kZWNzIiwgImlvIiwgIm1hdGgiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICIk
e2JpbmRpcn0vcHl0aG9uKiIsCiAgICAgICAgICAgICIke2luY2x1ZGVkaXJ9L3B5dGhvbiR7UFlU
SE9OX0JJTkFCSX0vcHljb25maWcqLmgiLAogICAgICAgICAgICAiX19mdXR1cmVfXy4qIiwKICAg
ICAgICAgICAgIl9hYmNvbGwuKiIsCiAgICAgICAgICAgICJfY29sbGVjdGlvbnNfYWJjLioiLAog
ICAgICAgICAgICAiX3NpdGVidWlsdGlucy4qIiwKICAgICAgICAgICAgIl9zeXNjb25maWdkYXRh
LioiLAogICAgICAgICAgICAiX3dlYWtyZWZzZXQuKiIsCiAgICAgICAgICAgICJhYmMuKiIsCiAg
ICAgICAgICAgICJjb2xsZWN0aW9ucyIsCiAgICAgICAgICAgICJjb25maWcvTWFrZWZpbGUiLAog
ICAgICAgICAgICAiQ29uZmlnUGFyc2VyLioiLAogICAgICAgICAgICAiY29weS4qIiwKICAgICAg
ICAgICAgImNvcHlyZWcuKiIsCiAgICAgICAgICAgICJnZW5lcmljcGF0aC4qIiwKICAgICAgICAg
ICAgImdldG9wdC4qIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19zdHJ1Y3QuKi5zbyIsCiAg
ICAgICAgICAgICJsaWItZHlubG9hZC9iaW5hc2NpaS4qLnNvIiwKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL3RpbWUuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC94cmVhZGxpbmVzLiou
c28iLAogICAgICAgICAgICAibGluZWNhY2hlLioiLAogICAgICAgICAgICAibmV3LioiLAogICAg
ICAgICAgICAib3MuKiIsCiAgICAgICAgICAgICJwbGF0Zm9ybS4qIiwKICAgICAgICAgICAgInBv
c2l4cGF0aC4qIiwKICAgICAgICAgICAgInNpZ25hbC4qIiwKICAgICAgICAgICAgInNpdGUuKiIs
CiAgICAgICAgICAgICJzaXRlY3VzdG9taXplLnB5IiwKICAgICAgICAgICAgInN0YXQuKiIsCiAg
ICAgICAgICAgICJzdHJ1Y3QuKiIsCiAgICAgICAgICAgICJzeXNjb25maWcuKiIsCiAgICAgICAg
ICAgICJ0eXBlcy4qIiwKICAgICAgICAgICAgIlVzZXJEaWN0LioiLAogICAgICAgICAgICAiVXNl
ckxpc3QuKiIsCiAgICAgICAgICAgICJVc2VyU3RyaW5nLioiLAogICAgICAgICAgICAid2Fybmlu
Z3MuKiIKICAgICAgICBdCiAgICB9LAogICAgImRldiI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRo
b24gZGV2ZWxvcG1lbnQgcGFja2FnZSIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAg
ICAiZmlsZXMiOiBbCiAgICAgICAgICAgICIke2luY2x1ZGVkaXJ9IiwKICAgICAgICAgICAgIiR7
bGliZGlyfS9saWIqJHtTT0xJQlNERVZ9IiwKICAgICAgICAgICAgIiR7bGliZGlyfS8qLmxhIiwK
ICAgICAgICAgICAgIiR7bGliZGlyfS8qLmEiLAogICAgICAgICAgICAiJHtsaWJkaXJ9LyoubyIs
CiAgICAgICAgICAgICIke2xpYmRpcn0vcGtnY29uZmlnIiwKICAgICAgICAgICAgIiR7YmFzZV9s
aWJkaXJ9LyouYSIsCiAgICAgICAgICAgICIke2Jhc2VfbGliZGlyfS8qLm8iLAogICAgICAgICAg
ICAiJHtkYXRhZGlyfS9hY2xvY2FsIiwKICAgICAgICAgICAgIiR7ZGF0YWRpcn0vcGtnY29uZmln
IgogICAgICAgIF0KICAgIH0sCiAgICAiMnRvMyI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24g
YXV0b21hdGVkIFB5dGhvbiAyIHRvIDMgY29kZSB0cmFuc2xhdG9yIiwKICAgICAgICAiZGVwcyI6
IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYjJ0bzMiCiAgICAg
ICAgXQogICAgfSwKICAgICJpZGxlIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBJbnRlZ3Jh
dGVkIERldmVsb3BtZW50IEVudmlyb25tZW50IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJ0
a2ludGVyIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiJHtiaW5kaXJ9L2lkbGUi
LAogICAgICAgICAgICAiaWRsZWxpYiIKICAgICAgICBdCiAgICB9LAogICAgInB5ZG9jIjogewog
ICAgICAgICJkZXNjIjogIlB5dGhvbiBpbnRlcmFjdGl2ZSBoZWxwIHN1cHBvcnQiLAogICAgICAg
ICJkZXBzIjogWyJjb3JlIiwgImxhbmciLCAic3RyaW5nb2xkIiwgInJlIl0sCiAgICAgICAgImZp
bGVzIjogWwogICAgICAgICAgICAiJHtiaW5kaXJ9L3B5ZG9jIiwKICAgICAgICAgICAgInB5ZG9j
LioiLAogICAgICAgICAgICAicHlkb2NfZGF0YSIKICAgICAgICBdCiAgICB9LAogICAgInNtdHBk
IjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBTaW1wbGUgTWFpbCBUcmFuc3BvcnQgRGFlbW9u
IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJuZXRzZXJ2ZXIiLCAiZW1haWwiLCAibWltZSJd
LAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIiR7YmluZGlyfS9zbXRwZC4qIiwKICAg
ICAgICAgICAgInNtdHBkLioiCiAgICAgICAgXQogICAgfSwKICAgICJhdWRpbyI6IHsKICAgICAg
ICAiZGVzYyI6ICJQeXRob24gQXVkaW8gSGFuZGxpbmciLAogICAgICAgICJkZXBzIjogWyJjb3Jl
Il0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAid2F2ZS4qIiwKICAgICAgICAgICAg
ImNodW5rLioiLAogICAgICAgICAgICAic25kaGRyLioiLAogICAgICAgICAgICAibGliLWR5bmxv
YWQvb3NzYXVkaW9kZXYuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9hdWRpb29wLiou
c28iLAogICAgICAgICAgICAiYXVkaW9kZXYuKiIsCiAgICAgICAgICAgICJzdW5hdWRpby4qIiwK
ICAgICAgICAgICAgInN1bmF1LioiLAogICAgICAgICAgICAidG9haWZmLioiCiAgICAgICAgXQog
ICAgfSwKICAgICJhc3luY2lvIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBBc3luY2hyb25v
dXMgSS9PLCBldmVudCBsb29wLCBjb3JvdXRpbmVzIGFuZCB0YXNrcyIsCiAgICAgICAgImRlcHMi
OiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJhc3luY2lvIgogICAg
ICAgIF0KICAgIH0sCiAgICAiY29kZWNzIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBjb2Rl
Y3MsIGVuY29kaW5ncyAmIGkxOG4gc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAi
bGFuZyJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImNvZGVjcy4qIiwKICAgICAg
ICAgICAgImVuY29kaW5ncyIsCiAgICAgICAgICAgICJnZXR0ZXh0LioiLAogICAgICAgICAgICAi
bG9jYWxlLioiLAogICAgICAgICAgICAibGliLWR5bmxvYWQvX2xvY2FsZS4qLnNvIiwKICAgICAg
ICAgICAgImxpYi1keW5sb2FkL19jb2RlY3MqIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19t
dWx0aWJ5dGVjb2RlYy4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL3VuaWNvZGVkYXRh
Liouc28iLAogICAgICAgICAgICAic3RyaW5ncHJlcC4qIiwKICAgICAgICAgICAgInhkcmxpYi4q
IgogICAgICAgIF0KICAgIH0sCiAgICAiY29tcGlsZSI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRo
b24gYnl0ZWNvZGUgY29tcGlsYXRpb24gc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUi
XSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJweV9jb21waWxlLioiLAogICAgICAg
ICAgICAiY29tcGlsZWFsbC4qIgogICAgICAgIF0KICAgIH0sCiAgICAiY29tcHJlc3Npb24iOiB7
CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGhpZ2gtbGV2ZWwgY29tcHJlc3Npb24gc3VwcG9ydCIs
CiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAiY29kZWNzIl0sCiAgICAgICAgImZpbGVzIjogWwog
ICAgICAgICAgICAiZ3ppcC4qIiwKICAgICAgICAgICAgInppcGZpbGUuKiIsCiAgICAgICAgICAg
ICJ0YXJmaWxlLioiLAogICAgICAgICAgICAibGliLWR5bmxvYWQvYnoyLiouc28iCiAgICAgICAg
XQogICAgfSwKICAgICJjcnlwdCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gYmFzaWMgY3J5
cHRvZ3JhcGhpYyBhbmQgaGFzaGluZyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJd
LAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImhhc2hsaWIuKiIsCiAgICAgICAgICAg
ICJtZDUuKiIsCiAgICAgICAgICAgICJzaGEuKiIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9j
cnlwdC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19oYXNobGliLiouc28iLAogICAg
ICAgICAgICAibGliLWR5bmxvYWQvX3NoYTI1Ni4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5s
b2FkL19zaGE1MTIuKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgInRleHR1dGlscyI6IHsKICAg
ICAgICAiZGVzYyI6ICJQeXRob24gb3B0aW9uIHBhcnNpbmcsIHRleHQgd3JhcHBpbmcgYW5kIENT
ViBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyIsICJyZSIsICJzdHJpbmdv
bGQiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fY3N2Liou
c28iLAogICAgICAgICAgICAiY3N2LioiLAogICAgICAgICAgICAib3B0cGFyc2UuKiIsCiAgICAg
ICAgICAgICJ0ZXh0d3JhcC4qIgogICAgICAgIF0KICAgIH0sCiAgICAiY3Vyc2VzIjogewogICAg
ICAgICJkZXNjIjogIlB5dGhvbiBjdXJzZXMgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNv
cmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJjdXJzZXMiLAogICAgICAgICAg
ICAibGliLWR5bmxvYWQvX2N1cnNlcy4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19j
dXJzZXNfcGFuZWwuKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgImN0eXBlcyI6IHsKICAgICAg
ICAiZGVzYyI6ICJQeXRob24gQyB0eXBlcyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29y
ZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImN0eXBlcyIsCiAgICAgICAgICAg
ICJsaWItZHlubG9hZC9fY3R5cGVzLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvX2N0
eXBlc190ZXN0Liouc28iCiAgICAgICAgXQogICAgfSwKICAgICJkYXRldGltZSI6IHsKICAgICAg
ICAiZGVzYyI6ICJQeXRob24gY2FsZW5kYXIgYW5kIHRpbWUgc3VwcG9ydCIsCiAgICAgICAgImRl
cHMiOiBbImNvcmUiLCAiY29kZWNzIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAi
X3N0cnB0aW1lLioiLAogICAgICAgICAgICAiY2FsZW5kYXIuKiIsCiAgICAgICAgICAgICJsaWIt
ZHlubG9hZC9kYXRldGltZS4qLnNvIgogICAgICAgIF0KICAgIH0sCiAgICAiZGIiOiB7CiAgICAg
ICAgImRlc2MiOiAiUHl0aG9uIGZpbGUtYmFzZWQgZGF0YWJhc2Ugc3VwcG9ydCIsCiAgICAgICAi
ZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImFueWRibS4q
IiwKICAgICAgICAgICAgImR1bWJkYm0uKiIsCiAgICAgICAgICAgICJ3aGljaGRiLioiLAogICAg
ICAgICAgICAiZGJtIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19kYm0uKi5zbyIKICAgICAg
ICBdCiAgICB9LAogICAgImRlYnVnZ2VyIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBkZWJ1
Z2dlciIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAiaW8iLCAibGFuZyIsICJyZSIsICJzdHJp
bmdvbGQiLCAic2hlbGwiLCAicHByaW50IiwgImltcG9ydGxpYiIsICJwa2d1dGlsIl0sCiAgICAg
ICAgImZpbGVzIjogWwogICAgICAgICAgICAiYmRiLioiLAogICAgICAgICAgICAicGRiLioiCiAg
ICAgICAgXQogICAgfSwKICAgICJkaWZmbGliIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBo
ZWxwZXJzIGZvciBjb21wdXRpbmcgZGVsdGFzIGJldHdlZW4gb2JqZWN0cyIsCiAgICAgICAgImRl
cHMiOiBbImxhbmciLCAicmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJkaWZm
bGliLioiCiAgICAgICAgXQogICAgfSwKICAgICJkaXN0dXRpbHMtc3RhdGljZGV2IjogewogICAg
ICAgICJkZXNjIjogIlB5dGhvbiBkaXN0cmlidXRpb24gdXRpbGl0aWVzIChzdGF0aWMgbGlicmFy
aWVzKSIsCiAgICAgICAgImRlcHMiOiBbImRpc3R1dGlscyJdLAogICAgICAgICJmaWxlcyI6IFsK
ICAgICAgICAgICAgImNvbmZpZy9saWIqLmEiCiAgICAgICAgXQogICAgfSwKICAgICJkaXN0dXRp
bHMiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIERpc3RyaWJ1dGlvbiBVdGlsaXRpZXMiLAog
ICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAi
Y29uZmlnIiwKICAgICAgICAgICAgImRpc3R1dGlscyIKICAgICAgICBdCiAgICB9LAogICAgImVs
ZW1lbnR0cmVlIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBlbGVtZW50cmVlIiwKICAgICAg
ICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL19lbGVtZW50dHJlZS4qLnNvIgogICAgICAgIF0KICAgIH0sCiAgICAiZW1haWwiOiB7
CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGVtYWlsIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjog
WyJjb3JlIiwgImlvIiwgInJlIiwgIm1pbWUiLCAiYXVkaW8iLCAiaW1hZ2UiLCAibmV0Y2xpZW50
Il0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiaW1hcGxpYi4qIiwKICAgICAgICAg
ICAgImVtYWlsIgogICAgICAgIF0KICAgIH0sCiAgICAiZmNudGwiOiB7CiAgICAgICAgImRlc2Mi
OiAiUHl0aG9uJ3MgZmNudGwgaW50ZXJmYWNlIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAog
ICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL2ZjbnRsLiouc28iCiAg
ICAgICAgXQogICAgfSwKICAgICJodG1sIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBIVE1M
IHByb2Nlc3Npbmcgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAi
ZmlsZXMiOiBbCiAgICAgICAgICAgICJmb3JtYXR0ZXIuKiIsCiAgICAgICAgICAgICJodG1sZW50
aXR5ZGVmcy4qIiwKICAgICAgICAgICAgImh0bWxsaWIuKiIsCiAgICAgICAgICAgICJtYXJrdXBi
YXNlLioiLAogICAgICAgICAgICAic2dtbGxpYi4qIiwKICAgICAgICAgICAgIkhUTUxQYXJzZXIu
KiIKICAgICAgICBdCiAgICB9LAogICAgImltcG9ydGxpYiI6IHsKICAgICAgICAiZGVzYyI6ICJQ
eXRob24gaW1wb3J0IGltcGxlbWVudGF0aW9uIGxpYnJhcnkiLAogICAgICAgICJkZXBzIjogWyJj
b3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiaW1wb3J0bGliIgogICAgICAg
IF0KICAgIH0sCiAgICAiZ2RibSI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gR05VIGRhdGFi
YXNlIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjog
WwogICAgICAgICAgICAibGliLWR5bmxvYWQvX2dkYm0uKi5zbyIKICAgICAgICBdCiAgICB9LAog
ICAgImltYWdlIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBncmFwaGljYWwgaW1hZ2UgaGFu
ZGxpbmciLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAg
ICAgICAgICAiY29sb3JzeXMuKiIsCiAgICAgICAgICAgICJpbWdoZHIuKiIsCiAgICAgICAgICAg
ICJsaWItZHlubG9hZC9pbWFnZW9wLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvcmdi
aW1nLiouc28iCiAgICAgICAgXQogICAgfSwKICAgICJpbyI6IHsKICAgICAgICAiZGVzYyI6ICJQ
eXRob24gbG93LWxldmVsIEkvTyIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAibWF0aCJdLAog
ICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL19zb2NrZXQuKi5zbyIs
CiAgICAgICAgICAgICJsaWItZHlubG9hZC9faW8uKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlu
bG9hZC9fc3NsLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvc2VsZWN0Liouc28iLAog
ICAgICAgICAgICAibGliLWR5bmxvYWQvdGVybWlvcy4qLnNvIiwKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL2NTdHJpbmdJTy4qLnNvIiwKICAgICAgICAgICAgInBpcGVzLioiLAogICAgICAgICAg
ICAic29ja2V0LioiLAogICAgICAgICAgICAic3NsLioiLAogICAgICAgICAgICAidGVtcGZpbGUu
KiIsCiAgICAgICAgICAgICJTdHJpbmdJTy4qIiwKICAgICAgICAgICAgImlvLioiLAogICAgICAg
ICAgICAiX3B5aW8uKiIKICAgICAgICBdCiAgICB9LAogICAgImpzb24iOiB7CiAgICAgICAgImRl
c2MiOiAiUHl0aG9uIEpTT04gc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAibWF0
aCIsICJyZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImpzb24iLAogICAgICAg
ICAgICAibGliLWR5bmxvYWQvX2pzb24uKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgImxhbmci
OiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGxvdy1sZXZlbCBsYW5ndWFnZSBzdXBwb3J0IiwK
ICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAg
ImxpYi1keW5sb2FkL19iaXNlY3QuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fY29s
bGVjdGlvbnMuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9faGVhcHEuKi5zbyIsCiAg
ICAgICAgICAgICJsaWItZHlubG9hZC9fd2Vha3JlZi4qLnNvIiwKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL19mdW5jdG9vbHMuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9hcnJheS4q
LnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL2l0ZXJ0b29scy4qLnNvIiwKICAgICAgICAg
ICAgImxpYi1keW5sb2FkL29wZXJhdG9yLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQv
cGFyc2VyLiouc28iLAogICAgICAgICAgICAiYXRleGl0LioiLAogICAgICAgICAgICAiYmlzZWN0
LioiLAogICAgICAgICAgICAiY29kZS4qIiwKICAgICAgICAgICAgImNvZGVvcC4qIiwKICAgICAg
ICAgICAgImNvbGxlY3Rpb25zLioiLAogICAgICAgICAgICAiX2NvbGxlY3Rpb25zX2FiYy4qIiwK
ICAgICAgICAgICAgImRpcy4qIiwKICAgICAgICAgICAgImZ1bmN0b29scy4qIiwKICAgICAgICAg
ICAgImhlYXBxLioiLAogICAgICAgICAgICJpbnNwZWN0LioiLAogICAgICAgICAgICAia2V5d29y
ZC4qIiwKICAgICAgICAgICAgIm9wY29kZS4qIiwKICAgICAgICAgICAgInN5bWJvbC4qIiwKICAg
ICAgICAgICAgInJlcHIuKiIsCiAgICAgICAgICAgICJ0b2tlbi4qIiwKICAgICAgICAgICAgInRv
a2VuaXplLioiLAogICAgICAgICAgICAidHJhY2ViYWNrLioiLAogICAgICAgICAgICAid2Vha3Jl
Zi4qIgogICAgICAgIF0KICAgIH0sCiAgICAibG9nZ2luZyI6IHsKICAgICAgICAiZGVzYyI6ICJQ
eXRob24gbG9nZ2luZyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyIsICJs
YW5nIiwgInBpY2tsZSIsICJzdHJpbmdvbGQiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAg
ICAgICJsb2dnaW5nIgogICAgICAgIF0KICAgIH0sCiAgICAibWFpbGJveCI6IHsKICAgICAgICAi
ZGVzYyI6ICJQeXRob24gbWFpbGJveCBmb3JtYXQgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBb
ImNvcmUiLCAibWltZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIm1haWxib3gu
KiIKICAgICAgICBdCiAgICB9LAogICAgIm1hdGgiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9u
IG1hdGggc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMi
OiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9jbWF0aC4qLnNvIiwKICAgICAgICAgICAgImxp
Yi1keW5sb2FkL21hdGguKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fcmFuZG9tLiou
c28iLAogICAgICAgICAgICAicmFuZG9tLioiLAogICAgICAgICAgICAic2V0cy4qIgogICAgICAg
IF0KICAgIH0sCiAgICAibWltZSI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gTUlNRSBoYW5k
bGluZyBBUElzIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyJdLAogICAgICAgICJmaWxl
cyI6IFsKICAgICAgICAgICAgIm1pbWV0b29scy4qIiwKICAgICAgICAgICAgInV1LioiLAogICAg
ICAgICAgICAicXVvcHJpLioiLAogICAgICAgICAgICAicmZjODIyLioiLAogICAgICAgICAgICAi
TWltZVdyaXRlci4qIgogICAgICAgIF0KICAgIH0sCiAgICAibW1hcCI6IHsKICAgICAgICAiZGVz
YyI6ICJQeXRob24gbWVtb3J5LW1hcHBlZCBmaWxlIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjog
WyJjb3JlIiwgImlvIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxv
YWQvbW1hcC4qLnNvIgogICAgICAgIF0KICAgIH0sCiAgICAibXVsdGlwcm9jZXNzaW5nIjogewog
ICAgICAgICJkZXNjIjogIlB5dGhvbiBtdWx0aXByb2Nlc3Npbmcgc3VwcG9ydCIsCiAgICAgICAg
ImRlcHMiOiBbImNvcmUiLCAiaW8iLCAibGFuZyIsICJwaWNrbGUiLCAidGhyZWFkaW5nIiwgImN0
eXBlcyIsICJtbWFwIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxv
YWQvX211bHRpcHJvY2Vzc2luZy4qLnNvIiwKICAgICAgICAgICAgIm11bHRpcHJvY2Vzc2luZyIK
ICAgICAgICBdCiAgICB9LAogICAgIm5ldGNsaWVudCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRo
b24gSW50ZXJuZXQgUHJvdG9jb2wgY2xpZW50cyIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAi
Y3J5cHQiLCAiZGF0ZXRpbWUiLCAiaW8iLCAibGFuZyIsICJsb2dnaW5nIiwgIm1pbWUiXSwKICAg
ICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICIqQ29va2llKi4qIiwKICAgICAgICAgICAgImJh
c2U2NC4qIiwKICAgICAgICAgICAgImNvb2tpZWxpYi4qIiwKICAgICAgICAgICAgImZ0cGxpYi4q
IiwKICAgICAgICAgICAgImdvcGhlcmxpYi4qIiwKICAgICAgICAgICAgImhtYWMuKiIsCiAgICAg
ICAgICAgICJodHRwbGliLioiLAogICAgICAgICAgICAibWltZXR5cGVzLioiLAogICAgICAgICAg
ICAibm50cGxpYi4qIiwKICAgICAgICAgICAgInBvcGxpYi4qIiwKICAgICAgICAgICAgInNtdHBs
aWIuKiIsCiAgICAgICAgICAgICJ0ZWxuZXRsaWIuKiIsCiAgICAgICAgICAgICJ1cmxsaWIiLAog
ICAgICAgICAgICAidXVpZC4qIiwKICAgICAgICAgICAgInJmYzgyMi4qIiwKICAgICAgICAgICAg
Im1pbWV0b29scy4qIgogICAgICAgIF0KICAgIH0sCiAgICAibmV0c2VydmVyIjogewogICAgICAg
ICJkZXNjIjogIlB5dGhvbiBJbnRlcm5ldCBQcm90b2NvbCBzZXJ2ZXJzIiwKICAgICAgICAiZGVw
cyI6IFsiY29yZSIsICJuZXRjbGllbnQiLCAic2hlbGwiLCAidGhyZWFkaW5nIl0sCiAgICAgICAg
ImZpbGVzIjogWwogICAgICAgICAgICAiY2dpLioiLAogICAgICAgICAgICAiY2dpdGIuKiIsCiAg
ICAgICAgICAgICJodHRwIiwKICAgICAgICAgICAgInNvY2tldHNlcnZlci4qIgogICAgICAgIF0K
ICAgIH0sCiAgICAibnVtYmVycyI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gbnVtYmVyIEFQ
SXMiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwgImxhbmciLCAicmUiXSwKICAgICAgICAiZmls
ZXMiOiBbCiAgICAgICAgICAgICJkZWNpbWFsLioiLAogICAgICAgICAgICAiZnJhY3Rpb25zLioi
LAogICAgICAgICAgICAibnVtYmVycy4qIgogICAgICAgIF0KICAgIH0sCiAgICAicGlja2xlIjog
ewogICAgICAgICJkZXNjIjogIlB5dGhvbiBzZXJpYWxpc2F0aW9uL3BlcnNpc3RlbmNlIHN1cHBv
cnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwgImNvZGVjcyIsICJpbyIsICJyZSJdLAogICAg
ICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInBpY2tsZS4qIiwKICAgICAgICAgICAgInNoZWx2
ZS4qIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL2NQaWNrbGUuKi5zbyIsCiAgICAgICAgICAg
ICJwaWNrbGV0b29scy4qIgogICAgICAgIF0KICAgIH0sCiAgICAicGtndXRpbCI6IHsKICAgICAg
ICAiZGVzYyI6ICJQeXRob24gcGFja2FnZSBleHRlbnNpb24gdXRpbGl0eSBzdXBwb3J0IiwKICAg
ICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInBr
Z3V0aWwuKiIKICAgICAgICBdCiAgICB9LAogICAgInBwcmludCI6IHsKICAgICAgICAiZGVzYyI6
ICJQeXRob24gcHJldHR5LXByaW50IHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwg
ImlvIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAicHByaW50LioiCiAgICAgICAg
XQogICAgfSwKICAgICJwcm9maWxlIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBiYXNpYyBw
ZXJmb3JtYW5jZSBwcm9maWxpbmcgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAi
dGV4dHV0aWxzIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAicHJvZmlsZS4qIiwK
ICAgICAgICAgICAgInBzdGF0cy4qIiwKICAgICAgICAgICAgImNQcm9maWxlLioiLAogICAgICAg
ICAgICAibGliLWR5bmxvYWQvX2xzcHJvZi4qLnNvIgogICAgICAgIF0KICAgIH0sCiAgICAicmUi
OiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIFJlZ3VsYXIgRXhwcmVzc2lvbiBBUElzIiwKICAg
ICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInJl
LioiLAogICAgICAgICAgICAic3JlLioiLAogICAgICAgICAgICAic3JlX2NvbXBpbGUuKiIsCiAg
ICAgICAgICAgICJzcmVfY29uc3RhbnRzKiIsCiAgICAgICAgICAgICJzcmVfcGFyc2UuKiIKICAg
ICAgICBdCiAgICB9LAogICAgInJlYWRsaW5lIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBy
ZWFkbGluZSBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxl
cyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL3JlYWRsaW5lLiouc28iLAogICAgICAgICAg
ICAicmxjb21wbGV0ZXIuKiIKICAgICAgICBdCiAgICB9LAogICAgInJlcHJsaWIiOiB7CiAgICAg
ICAgImRlc2MiOiAiUHl0aG9uIGFsdGVybmF0ZSByZXByKCkgaW1wbGVtZW50YXRpb24iLAogICAg
ICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAicmVw
cmxpYi5weSIKICAgICAgICBdCiAgICB9LAogICAgInJlc291cmNlIjogewogICAgICAgICJkZXNj
IjogIlB5dGhvbiByZXNvdXJjZSBjb250cm9sIGludGVyZmFjZSIsCiAgICAgICAgImRlcHMiOiBb
ImNvcmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9yZXNv
dXJjZS4qLnNvIgogICAgICAgIF0KICAgIH0sCiAgICAic2hlbGwiOiB7CiAgICAgICAgImRlc2Mi
OiAiUHl0aG9uIHNoZWxsLWxpa2UgZnVuY3Rpb25hbGl0eSIsCiAgICAgICAgImRlcHMiOiBbImNv
cmUiLCAicmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJjbWQuKiIsCiAgICAg
ICAgICAgICJjb21tYW5kcy4qIiwKICAgICAgICAgICAgImRpcmNhY2hlLioiLAogICAgICAgICAg
ICAiZm5tYXRjaC4qIiwKICAgICAgICAgICAgImdsb2IuKiIsCiAgICAgICAgICAgICJwb3BlbjIu
KiIsCiAgICAgICAgICAgICJzaGxleC4qIiwKICAgICAgICAgICAgInNodXRpbC4qIgogICAgICAg
IF0KICAgIH0sCiAgICAic3VicHJvY2VzcyI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gc3Vi
cHJvY2VzcyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyIsICJyZSIsICJm
Y250bCIsICJwaWNrbGUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJzdWJwcm9j
ZXNzLioiCiAgICAgICAgXQogICAgfSwKICAgICJzcWxpdGUzIjogewogICAgICAgICJkZXNjIjog
IlB5dGhvbiBTcWxpdGUzIGRhdGFiYXNlIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3Jl
IiwgImRhdGV0aW1lIiwgImxhbmciLCAiY3J5cHQiLCAiaW8iLCAidGhyZWFkaW5nIl0sCiAgICAg
ICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxvYWQvX3NxbGl0ZTMuKi5zbyIsCiAg
ICAgICAgICAgICJzcWxpdGUzL2RiYXBpMi4qIiwKICAgICAgICAgICAgInNxbGl0ZTMvX19pbml0
X18uKiIsCiAgICAgICAgICAgICJzcWxpdGUzL2R1bXAuKiIKICAgICAgICBdCiAgICB9LAogICAg
InNxbGl0ZTMtdGVzdHMiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIFNxbGl0ZTMgZGF0YWJh
c2Ugc3VwcG9ydCB0ZXN0cyIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAic3FsaXRlMyJdLAog
ICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInNxbGl0ZTMvdGVzdCIKICAgICAgICBdCiAg
ICB9LAogICAgInN0cmluZ29sZCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gc3RyaW5nIEFQ
SXMgW2RlcHJlY2F0ZWRdIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJyZSJdLAogICAgICAg
ICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL3N0cm9wLiouc28iLAogICAgICAg
ICAgICAic3RyaW5nLioiLAogICAgICAgICAgICAic3RyaW5nb2xkLioiCiAgICAgICAgXQogICAg
fSwKICAgICJzeXNsb2ciOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIHN5c2xvZyBpbnRlcmZh
Y2UiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAg
ICAgICAibGliLWR5bmxvYWQvc3lzbG9nLiouc28iCiAgICAgICAgXQogICAgfSwKICAgICJ0ZXJt
aW5hbCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gdGVybWluYWwgY29udHJvbGxpbmcgc3Vw
cG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAiaW8iXSwKICAgICAgICAiZmlsZXMiOiBb
CiAgICAgICAgICAgICJwdHkuKiIsCiAgICAgICAgICAgICJ0dHkuKiIKICAgICAgICBdCiAgICB9
LAogICAgInRlc3RzIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiB0ZXN0cyIsCiAgICAgICAg
ImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJ0ZXN0Igog
ICAgICAgIF0KICAgIH0sCiAgICAidGhyZWFkaW5nIjogewogICAgICAgICJkZXNjIjogIlB5dGhv
biB0aHJlYWRpbmcgJiBzeW5jaHJvbml6YXRpb24gc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBb
ImNvcmUiLCAibGFuZyJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIl90aHJlYWRp
bmdfbG9jYWwuKiIsCiAgICAgICAgICAgICJkdW1teV90aHJlYWQuKiIsCiAgICAgICAgICAgICJk
dW1teV90aHJlYWRpbmcuKiIsCiAgICAgICAgICAgICJtdXRleC4qIiwKICAgICAgICAgICAgInRo
cmVhZGluZy4qIiwKICAgICAgICAgICAgIlF1ZXVlLioiCiAgICAgICAgXQogICAgfSwKICAgICJ0
a2ludGVyIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBUY2wvVGsgYmluZGluZ3MiLAogICAg
ICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGli
LWR5bmxvYWQvX3RraW50ZXIuKi5zbyIsCiAgICAgICAgICAgICJsaWItdGsiLAogICAgICAgICAg
ICAidGtpbnRlciIKICAgICAgICBdCiAgICB9LAogICAgInVuaXR0ZXN0IjogewogICAgICAgICJk
ZXNjIjogIlB5dGhvbiB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIiwKICAgICAgICAiZGVwcyI6IFsi
Y29yZSIsICJzdHJpbmdvbGQiLCAibGFuZyIsICJpbyIsICJkaWZmbGliIiwgInBwcmludCIsICJz
aGVsbCJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInVuaXR0ZXN0LyIKICAgICAg
ICBdCiAgICB9LAogICAgInVuaXhhZG1pbiI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gVW5p
eCBhZG1pbmlzdHJhdGlvbiBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAg
ICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL25pcy4qLnNvIiwKICAgICAg
ICAgICAgImxpYi1keW5sb2FkL2dycC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL3B3
ZC4qLnNvIiwKICAgICAgICAgICAgImdldHBhc3MuKiIKICAgICAgICBdCiAgICB9LAogICAgInht
bCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gYmFzaWMgWE1MIHN1cHBvcnQiLAogICAgICAg
ICJkZXBzIjogWyJjb3JlIiwgImVsZW1lbnR0cmVlIiwgInJlIl0sCiAgICAgICAgImZpbGVzIjog
WwogICAgICAgICAgICAibGliLWR5bmxvYWQvcHlleHBhdC4qLnNvIiwKICAgICAgICAgICAgInht
bCIsCiAgICAgICAgICAgICJ4bWxsaWIuKiIKICAgICAgICBdCiAgICB9LAogICAgInhtbHJwYyI6
IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gWE1MLVJQQyBzdXBwb3J0IiwKICAgICAgICAiZGVw
cyI6IFsiY29yZSIsICJ4bWwiLCAibmV0c2VydmVyIiwgImxhbmciXSwKICAgICAgICAiZmlsZXMi
OiBbCiAgICAgICAgICAgICJ4bWxycGNsaWIuKiIsCiAgICAgICAgICAgICJTaW1wbGVYTUxSUENT
ZXJ2ZXIuKiIsCiAgICAgICAgICAgICJEb2NYTUxSUENTZXJ2ZXIuKiIsCiAgICAgICAgICAgICJ4
bWxycGMiCiAgICAgICAgXQogICAgfSwKICAgICJtYWlsYm94IjogewogICAgICAgICJkZXNjIjog
IlB5dGhvbiBtYWlsYm94IGZvcm1hdCBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIs
ICJtaW1lIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibWFpbGJveC4qIgogICAg
ICAgIF0KICAgIH0KfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2870</attachid>
            <date>2015-11-26 21:00:58 +0000</date>
            <delta_ts>2015-11-26 21:02:40 +0000</delta_ts>
            <desc>Manifest generation code</desc>
            <filename>generate-manifest.py</filename>
            <type>text/x-python</type>
            <size>1672</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW1wb3J0IGpzb24KaW1wb3J0IHN5cwoKCmRlZiBtYW5p
ZmVzdF9saW5lcyhwYWNrYWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKToKICAgIHlpZWxk
IGZtdF9saW5lKHBhY2thZ2UsICcnLCBmbXRfaXRlbShpdGVtc1swXSkpCiAgICBpZiBsZW4oaXRl
bXMpID4gMToKICAgICAgICBpdGVtcyA9IGl0ZW1zWzE6XQogICAgICAgIGl0ZW1zID0gKGZtdF9p
dGVtKHMpIGZvciBzIGluIGl0ZW1zKQogICAgICAgIHlpZWxkIGZyb20gKGZtdF9saW5lKHBhY2th
Z2UsICcrJywgcykgZm9yIHMgaW4gaXRlbXMpCgoKZGVmIHByaW50X2xpbmVzKHBhY2thZ2UsIGl0
ZW1zLCBmbXRfbGluZSwgZm10X2l0ZW0pOgogICAgbGluZXMgPSBtYW5pZmVzdF9saW5lcyhwYWNr
YWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKQogICAgcHJpbnQoJ1xuJy5qb2luKGxpbmVz
KSkKICAgIHByaW50KCkKCgpkZWYgZm10X2ZpbGUocyk6CiAgICByZXR1cm4gcyBpZiBzLnN0YXJ0
c3dpdGgoJyR7JykgXAogICAgICAgIGVsc2UgJyR7e2xpYmRpcn19L3B5dGhvbiR7e1BZVEhPTl9C
QVNFVkVSU0lPTn19L3t9Jy5mb3JtYXQocykKCgpmbXRfcyA9ICdTVU1NQVJZXyR7e1BOfX0te30g
PSAie30iJy5mb3JtYXQKZm10X2QgPSAnUkRFUEVORFNfJHt7UE59fS17fSB7fT0gInt9IicuZm9y
bWF0CmZtdF9mID0gJ0ZJTEVTXyR7e1BOfX0te30ge309ICJ7fSInLmZvcm1hdApmbXRfcCA9ICdQ
QUNLQUdFU3s6LjB9IHt9PSAie30iJy5mb3JtYXQgICMgbm90ZTogcGFja2FnZSBuYW1lIGlzIGln
bm9yZWQKZm10X3BhY2thZ2UgPSAnJHt7UE59fS17fScuZm9ybWF0CgpkYXRhID0ganNvbi5sb2Fk
KHN5cy5zdGRpbikKCnByaW50KAogICAgJyNcbiMgV0FSTklORzogVGhpcyBmaWxlIGlzIEFVVE8g
R0VORVJBVEVEOiBNYW51YWwgZWRpdHMgd2lsbCcKICAgICcgYmUgbG9zdC5cbiNcbicKKQoKcGFj
a2FnZXMgPSBzb3J0ZWQobGlzdChkYXRhKSArIFsnbW9kdWxlcyddKQpwYWNrYWdlcyA9ICgnUFJP
VklERVMgKz0gIiR7e1BOfX0te30iJy5mb3JtYXQocykgZm9yIHMgaW4gcGFja2FnZXMpCnByaW50
KCdcbicuam9pbihwYWNrYWdlcykpCnByaW50KCkKCnBhY2thZ2VzID0gc29ydGVkKGxpc3QoZGF0
YSkgKyBbJ2RiZycsICdtb2R1bGVzJ10pCnByaW50X2xpbmVzKCcnLCBwYWNrYWdlcywgZm10X3As
IGZtdF9wYWNrYWdlKQoKZm9yIHBhY2thZ2UsIGluZm8gaW4gc29ydGVkKGRhdGEuaXRlbXMoKSk6
CiAgICBwcmludChmbXRfcyhwYWNrYWdlLCBpbmZvWydkZXNjJ10pKQoKICAgIHByaW50X2xpbmVz
KHBhY2thZ2UsIGluZm9bJ2RlcHMnXSwgZm10X2QsIGZtdF9wYWNrYWdlKQogICAgcHJpbnRfbGlu
ZXMocGFja2FnZSwgaW5mb1snZmlsZXMnXSwgZm10X2YsIGZtdF9maWxlKQoKaXNfb2sgPSBsYW1i
ZGEgczogbm90IChzIGluIHsnZGV2JywgJ2Rpc3R1dGlscy1zdGF0aWNkZXYnfSBvciBzLmVuZHN3
aXRoKCd0ZXN0cycpKQpkZXBzID0gW3MgZm9yIHMgaW4gZGF0YSBpZiBpc19vayhzKV0KcHJpbnQo
Zm10X3MoJ21vZHVsZXMnLCAnQWxsIFB5dGhvbiBtb2R1bGVzJykpCnByaW50X2xpbmVzKCdtb2R1
bGVzJywgZGVwcywgZm10X2QsIGZtdF9wYWNrYWdlKQoKcHJpbnQoJ1xuQUxMT1dfRU1QVFlfJHtQ
Tn0tbW9kdWxlcyA9ICIxIicpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2871</attachid>
            <date>2015-11-26 21:01:34 +0000</date>
            <delta_ts>2015-11-26 21:01:34 +0000</delta_ts>
            <desc>Python 3.5 manifest data</desc>
            <filename>python-3.5-manifest-input.json</filename>
            <type>application/json</type>
            <size>17907</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">ewogICAgImNvcmUiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGludGVycHJldGVyIGFuZCBj
b3JlIG1vZHVsZXMiLAogICAgICAgICJkZXBzIjogWyJsYW5nIiwgInJlIiwgInJlcHJsaWIiLCAi
Y29kZWNzIiwgImlvIiwgIm1hdGgiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICIk
e2JpbmRpcn0vcHl0aG9uKiIsCiAgICAgICAgICAgICIke2luY2x1ZGVkaXJ9L3B5dGhvbiR7UFlU
SE9OX0JJTkFCSX0vcHljb25maWcqLmgiLAogICAgICAgICAgICAiX19mdXR1cmVfXy4qIiwKICAg
ICAgICAgICAgIl9hYmNvbGwuKiIsCiAgICAgICAgICAgICJfYm9vdGxvY2FsZS4qIiwKICAgICAg
ICAgICAgIl9jb2xsZWN0aW9uc19hYmMuKiIsCiAgICAgICAgICAgICJfbWFya3VwYmFzZS4qIiwK
ICAgICAgICAgICAgIl9zaXRlYnVpbHRpbnMuKiIsCiAgICAgICAgICAgICJfc3lzY29uZmlnZGF0
YS4qIiwKICAgICAgICAgICAgIl93ZWFrcmVmc2V0LioiLAogICAgICAgICAgICAiYWJjLioiLAog
ICAgICAgICAgICAiYXJncGFyc2UuKiIsCiAgICAgICAgICAgICJhbnRpZ3Jhdml0eS4qIiwKICAg
ICAgICAgICAgImFyZ3BhcnNlLioiLAogICAgICAgICAgICAiYXN0LioiLAogICAgICAgICAgICAi
YXN5bmNoYXQuKiIsCiAgICAgICAgICAgICJhc3luY29yZS4qIiwKICAgICAgICAgICAgImJpbmhl
eC4qIiwKICAgICAgICAgICAgImNvbGxlY3Rpb25zIiwKICAgICAgICAgICAgImNvbmN1cnJlbnQi
LAogICAgICAgICAgICAiY29uZmlnL01ha2VmaWxlIiwKICAgICAgICAgICAgIkNvbmZpZ1BhcnNl
ci4qIiwKICAgICAgICAgICAgImNvbmZpZ3BhcnNlci4qIiwKICAgICAgICAgICAgImNvbnRleHRs
aWIuKiIsCiAgICAgICAgICAgICJjb3B5LioiLAogICAgICAgICAgICAiY29weXJlZy4qIiwKICAg
ICAgICAgICAgImVudW0uKiIsCiAgICAgICAgICAgICJmaWxlY21wLioiLAogICAgICAgICAgICAi
ZmlsZWlucHV0LioiLAogICAgICAgICAgICAiZ2VuZXJpY3BhdGguKiIsCiAgICAgICAgICAgICJn
ZXRvcHQuKiIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fc3RydWN0Liouc28iLAogICAgICAg
ICAgICAibGliLWR5bmxvYWQvYmluYXNjaWkuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9h
ZC90aW1lLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvX3Bvc2l4c3VicHJvY2Vzcy4q
LnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL3h4bGltaXRlZC4qLnNvIiwKICAgICAgICAg
ICAgImxpbmVjYWNoZS4qIiwKICAgICAgICAgICAgIm1vZHVsZWZpbmRlci4qIiwKICAgICAgICAg
ICAgIm5ldy4qIiwKICAgICAgICAgICAgIm9zLioiLAogICAgICAgICAgICAicGxhdGZvcm0uKiIs
CiAgICAgICAgICAgICJwb3NpeHBhdGguKiIsCiAgICAgICAgICAgICJweWNsYnIuKiIsCiAgICAg
ICAgICAgICJzZWxlY3RvcnMuKiIsCiAgICAgICAgICAgICJzaWduYWwuKiIsCiAgICAgICAgICAg
ICJzaXRlLioiLAogICAgICAgICAgICAic2l0ZWN1c3RvbWl6ZS5weSIsCiAgICAgICAgICAgICJz
Y2hlZC4qIiwKICAgICAgICAgICAgInN0YXQuKiIsCiAgICAgICAgICAgICJzdGF0aXN0aWNzLioi
LAogICAgICAgICAgICAic3RydWN0LioiLAogICAgICAgICAgICAic3lzY29uZmlnLioiLAogICAg
ICAgICAgICAic3ltdGFibGUuKiIsCiAgICAgICAgICAgICJ0cmFjZW1hbGxvYy4qIiwKICAgICAg
ICAgICAgInR5cGVzLioiLAogICAgICAgICAgICAidmVudiIsCiAgICAgICAgICAgICJVc2VyRGlj
dC4qIiwKICAgICAgICAgICAgIlVzZXJMaXN0LioiLAogICAgICAgICAgICAiVXNlclN0cmluZy4q
IiwKICAgICAgICAgICAgIndhcm5pbmdzLioiCiAgICAgICAgXQogICAgfSwKICAgICJkZXYiOiB7
CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGRldmVsb3BtZW50IHBhY2thZ2UiLAogICAgICAgICJk
ZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiJHtpbmNsdWRl
ZGlyfSIsCiAgICAgICAgICAgICIke2xpYmRpcn0vbGliKiR7U09MSUJTREVWfSIsCiAgICAgICAg
ICAgICIke2xpYmRpcn0vKi5sYSIsCiAgICAgICAgICAgICIke2xpYmRpcn0vKi5hIiwKICAgICAg
ICAgICAgIiR7bGliZGlyfS8qLm8iLAogICAgICAgICAgICAiJHtsaWJkaXJ9L3BrZ2NvbmZpZyIs
CiAgICAgICAgICAgICIke2Jhc2VfbGliZGlyfS8qLmEiLAogICAgICAgICAgICAiJHtiYXNlX2xp
YmRpcn0vKi5vIiwKICAgICAgICAgICAgIiR7ZGF0YWRpcn0vYWNsb2NhbCIsCiAgICAgICAgICAg
ICIke2RhdGFkaXJ9L3BrZ2NvbmZpZyIKICAgICAgICBdCiAgICB9LAogICAgIjJ0bzMiOiB7CiAg
ICAgICAgImRlc2MiOiAiUHl0aG9uIGF1dG9tYXRlZCBQeXRob24gMiB0byAzIGNvZGUgdHJhbnNs
YXRvciIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAg
ICAgICAgICJsaWIydG8zIgogICAgICAgIF0KICAgIH0sCiAgICAiaWRsZSI6IHsKICAgICAgICAi
ZGVzYyI6ICJQeXRob24gSW50ZWdyYXRlZCBEZXZlbG9wbWVudCBFbnZpcm9ubWVudCIsCiAgICAg
ICAgImRlcHMiOiBbImNvcmUiLCAidGtpbnRlciJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAg
ICAgICAgIiR7YmluZGlyfS9pZGxlIiwKICAgICAgICAgICAgImlkbGVsaWIiCiAgICAgICAgXQog
ICAgfSwKICAgICJweWRvYyI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gaW50ZXJhY3RpdmUg
aGVscCBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJsYW5nIiwgInN0cmluZ29s
ZCIsICJyZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIiR7YmluZGlyfS9weWRv
YyIsCiAgICAgICAgICAgICJweWRvYy4qIiwKICAgICAgICAgICAgInB5ZG9jX2RhdGEiCiAgICAg
ICAgXQogICAgfSwKICAgICJzbXRwZCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gU2ltcGxl
IE1haWwgVHJhbnNwb3J0IERhZW1vbiIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAibmV0c2Vy
dmVyIiwgImVtYWlsIiwgIm1pbWUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICIk
e2JpbmRpcn0vc210cGQuKiIsCiAgICAgICAgICAgICJzbXRwZC4qIgogICAgICAgIF0KICAgIH0s
CiAgICAiYXVkaW8iOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIEF1ZGlvIEhhbmRsaW5nIiwK
ICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAg
ImFpZmMuKiIsCiAgICAgICAgICAgICJhdWRpb2Rldi4qIiwKICAgICAgICAgICAgImNodW5rLioi
LAogICAgICAgICAgICAibGliLWR5bmxvYWQvYXVkaW9vcC4qLnNvIiwKICAgICAgICAgICAgImxp
Yi1keW5sb2FkL29zc2F1ZGlvZGV2Liouc28iLAogICAgICAgICAgICAic25kaGRyLioiLAogICAg
ICAgICAgICAic3VuYXUuKiIsCiAgICAgICAgICAgICJzdW5hdWRpby4qIiwKICAgICAgICAgICAg
InRvYWlmZi4qIiwKICAgICAgICAgICAgIndhdmUuKiIKICAgICAgICBdCiAgICB9LAogICAgImFz
eW5jaW8iOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIEFzeW5jaHJvbm91cyBJL08sIGV2ZW50
IGxvb3AsIGNvcm91dGluZXMgYW5kIHRhc2tzIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAog
ICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImFzeW5jaW8iCiAgICAgICAgXQogICAgfSwK
ICAgICJjb2RlY3MiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGNvZGVjcywgZW5jb2Rpbmdz
ICYgaTE4biBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJsYW5nIl0sCiAgICAg
ICAgImZpbGVzIjogWwogICAgICAgICAgICAiY29kZWNzLioiLAogICAgICAgICAgICAiZW5jb2Rp
bmdzIiwKICAgICAgICAgICAgImdldHRleHQuKiIsCiAgICAgICAgICAgICJsb2NhbGUuKiIsCiAg
ICAgICAgICAgICJsaWItZHlubG9hZC9fbG9jYWxlLiouc28iLAogICAgICAgICAgICAibGliLWR5
bmxvYWQvX2NvZGVjcyoiLAogICAgICAgICAgICAibGliLWR5bmxvYWQvX211bHRpYnl0ZWNvZGVj
Liouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvdW5pY29kZWRhdGEuKi5zbyIsCiAgICAg
ICAgICAgICJzdHJpbmdwcmVwLioiLAogICAgICAgICAgICAieGRybGliLioiCiAgICAgICAgXQog
ICAgfSwKICAgICJjb21waWxlIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBieXRlY29kZSBj
b21waWxhdGlvbiBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJm
aWxlcyI6IFsKICAgICAgICAgICAgInB5X2NvbXBpbGUuKiIsCiAgICAgICAgICAgICJjb21waWxl
YWxsLioiCiAgICAgICAgXQogICAgfSwKICAgICJjb21wcmVzc2lvbiI6IHsKICAgICAgICAiZGVz
YyI6ICJQeXRob24gaGlnaC1sZXZlbCBjb21wcmVzc2lvbiBzdXBwb3J0IiwKICAgICAgICAiZGVw
cyI6IFsiY29yZSIsICJjb2RlY3MiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJi
ejIuKiIsCiAgICAgICAgICAgICJnemlwLioiLAogICAgICAgICAgICAibHptYS4qIiwKICAgICAg
ICAgICAgInppcGZpbGUuKiIsCiAgICAgICAgICAgICJ0YXJmaWxlLioiLAogICAgICAgICAgICAi
bGliLWR5bmxvYWQvX2J6Mi4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19sem1hLiou
c28iCiAgICAgICAgXQogICAgfSwKICAgICJjcnlwdCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRo
b24gYmFzaWMgY3J5cHRvZ3JhcGhpYyBhbmQgaGFzaGluZyBzdXBwb3J0IiwKICAgICAgICAiZGVw
cyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImNyeXB0LioiLAog
ICAgICAgICAgICAiaGFzaGxpYi4qIiwKICAgICAgICAgICAgIm1kNS4qIiwKICAgICAgICAgICAg
InNoYS4qIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19jcnlwdC4qLnNvIiwKICAgICAgICAg
ICAgImxpYi1keW5sb2FkL19oYXNobGliLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQv
X21kNS4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19zaGExLiouc28iLAogICAgICAg
ICAgICAibGliLWR5bmxvYWQvX3NoYTI1Ni4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2Fk
L19zaGE1MTIuKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgInRleHR1dGlscyI6IHsKICAgICAg
ICAiZGVzYyI6ICJQeXRob24gb3B0aW9uIHBhcnNpbmcsIHRleHQgd3JhcHBpbmcgYW5kIENTViBz
dXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyIsICJyZSIsICJzdHJpbmdvbGQi
XSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fY3N2Liouc28i
LAogICAgICAgICAgICAiY3N2LioiLAogICAgICAgICAgICAib3B0cGFyc2UuKiIsCiAgICAgICAg
ICAgICJ0ZXh0d3JhcC4qIgogICAgICAgIF0KICAgIH0sCiAgICAiY3Vyc2VzIjogewogICAgICAg
ICJkZXNjIjogIlB5dGhvbiBjdXJzZXMgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUi
XSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJjdXJzZXMiLAogICAgICAgICAgICAi
bGliLWR5bmxvYWQvX2N1cnNlcy4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19jdXJz
ZXNfcGFuZWwuKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgImN0eXBlcyI6IHsKICAgICAgICAi
ZGVzYyI6ICJQeXRob24gQyB0eXBlcyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJd
LAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImN0eXBlcyIsCiAgICAgICAgICAgICJs
aWItZHlubG9hZC9fY3R5cGVzLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvX2N0eXBl
c190ZXN0Liouc28iCiAgICAgICAgXQogICAgfSwKICAgICJkYXRldGltZSI6IHsKICAgICAgICAi
ZGVzYyI6ICJQeXRob24gY2FsZW5kYXIgYW5kIHRpbWUgc3VwcG9ydCIsCiAgICAgICAgImRlcHMi
OiBbImNvcmUiLCAiY29kZWNzIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiX3N0
cnB0aW1lLioiLAogICAgICAgICAgICAiZGF0ZXRpbWUuKiIsCiAgICAgICAgICAgICJjYWxlbmRh
ci4qIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19kYXRldGltZS4qLnNvIgogICAgICAgIF0K
ICAgIH0sCiAgICAiZGIiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGZpbGUtYmFzZWQgZGF0
YWJhc2Ugc3VwcG9ydCIsCiAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6
IFsKICAgICAgICAgICAgImFueWRibS4qIiwKICAgICAgICAgICAgImR1bWJkYm0uKiIsCiAgICAg
ICAgICAgICJ3aGljaGRiLioiLAogICAgICAgICAgICAiZGJtIiwKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL19kYm0uKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgImRlYnVnZ2VyIjogewogICAg
ICAgICJkZXNjIjogIlB5dGhvbiBkZWJ1Z2dlciIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAi
aW8iLCAibGFuZyIsICJyZSIsICJzdHJpbmdvbGQiLCAic2hlbGwiLCAicHByaW50IiwgImltcG9y
dGxpYiIsICJwa2d1dGlsIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAiYmRiLioi
LAogICAgICAgICAgICAicGRiLioiCiAgICAgICAgXQogICAgfSwKICAgICJkaWZmbGliIjogewog
ICAgICAgICJkZXNjIjogIlB5dGhvbiBoZWxwZXJzIGZvciBjb21wdXRpbmcgZGVsdGFzIGJldHdl
ZW4gb2JqZWN0cyIsCiAgICAgICAgImRlcHMiOiBbImxhbmciLCAicmUiXSwKICAgICAgICAiZmls
ZXMiOiBbCiAgICAgICAgICAgICJkaWZmbGliLioiCiAgICAgICAgXQogICAgfSwKICAgICJkaXN0
dXRpbHMtc3RhdGljZGV2IjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBkaXN0cmlidXRpb24g
dXRpbGl0aWVzIChzdGF0aWMgbGlicmFyaWVzKSIsCiAgICAgICAgImRlcHMiOiBbImRpc3R1dGls
cyJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImNvbmZpZy9saWIqLmEiCiAgICAg
ICAgXQogICAgfSwKICAgICJkaXN0dXRpbHMiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIERp
c3RyaWJ1dGlvbiBVdGlsaXRpZXMiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAg
ImZpbGVzIjogWwogICAgICAgICAgICAiY29uZmlnIiwKICAgICAgICAgICAgImRpc3R1dGlscyIK
ICAgICAgICBdCiAgICB9LAogICAgImVsZW1lbnR0cmVlIjogewogICAgICAgICJkZXNjIjogIlB5
dGhvbiBlbGVtZW50cmVlIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxl
cyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL19lbGVtZW50dHJlZS4qLnNvIgogICAgICAg
IF0KICAgIH0sCiAgICAiZW1haWwiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGVtYWlsIHN1
cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwgImlvIiwgInJlIiwgIm1pbWUiLCAiYXVk
aW8iLCAiaW1hZ2UiLCAibmV0Y2xpZW50Il0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAg
ICAiaW1hcGxpYi4qIiwKICAgICAgICAgICAgImVtYWlsIgogICAgICAgIF0KICAgIH0sCiAgICAi
ZmNudGwiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uJ3MgZmNudGwgaW50ZXJmYWNlIiwKICAg
ICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxp
Yi1keW5sb2FkL2ZjbnRsLiouc28iCiAgICAgICAgXQogICAgfSwKICAgICJodG1sIjogewogICAg
ICAgICJkZXNjIjogIlB5dGhvbiBIVE1MIHByb2Nlc3Npbmcgc3VwcG9ydCIsCiAgICAgICAgImRl
cHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJmb3JtYXR0ZXIu
KiIsCiAgICAgICAgICAgICJodG1sZW50aXR5ZGVmcy4qIiwKICAgICAgICAgICAgImh0bWwiLAog
ICAgICAgICAgICAiaHRtbGxpYi4qIiwKICAgICAgICAgICAgIm1hcmt1cGJhc2UuKiIsCiAgICAg
ICAgICAgICJzZ21sbGliLioiLAogICAgICAgICAgICAiSFRNTFBhcnNlci4qIgogICAgICAgIF0K
ICAgIH0sCiAgICAiaW1wb3J0bGliIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBpbXBvcnQg
aW1wbGVtZW50YXRpb24gbGlicmFyeSIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAg
ICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJpbXAuKiIsCiAgICAgICAgICAgICJpbXBvcnRsaWIi
CiAgICAgICAgXQogICAgfSwKICAgICJnZGJtIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBH
TlUgZGF0YWJhc2Ugc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAi
ZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fZ2RibS4qLnNvIgogICAgICAgIF0K
ICAgIH0sCiAgICAiaW1hZ2UiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGdyYXBoaWNhbCBp
bWFnZSBoYW5kbGluZyIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMi
OiBbCiAgICAgICAgICAgICJjb2xvcnN5cy4qIiwKICAgICAgICAgICAgImltZ2hkci4qIiwKICAg
ICAgICAgICAgImxpYi1keW5sb2FkL2ltYWdlb3AuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlu
bG9hZC9yZ2JpbWcuKi5zbyIKICAgICAgICBdCiAgICB9LAogICAgImlvIjogewogICAgICAgICJk
ZXNjIjogIlB5dGhvbiBsb3ctbGV2ZWwgSS9PIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJt
YXRoIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxvYWQvX3NvY2tl
dC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19pby4qLnNvIiwKICAgICAgICAgICAg
ImxpYi1keW5sb2FkL19zc2wuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9zZWxlY3Qu
Ki5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC90ZXJtaW9zLiouc28iLAogICAgICAgICAg
ICAibGliLWR5bmxvYWQvY1N0cmluZ0lPLiouc28iLAogICAgICAgICAgICAicGlwZXMuKiIsCiAg
ICAgICAgICAgICJzb2NrZXQuKiIsCiAgICAgICAgICAgICJzc2wuKiIsCiAgICAgICAgICAgICJ0
ZW1wZmlsZS4qIiwKICAgICAgICAgICAgIlN0cmluZ0lPLioiLAogICAgICAgICAgICAiaW8uKiIs
CiAgICAgICAgICAgICJfcHlpby4qIgogICAgICAgIF0KICAgIH0sCiAgICAianNvbiI6IHsKICAg
ICAgICAiZGVzYyI6ICJQeXRob24gSlNPTiBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29y
ZSIsICJtYXRoIiwgInJlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAianNvbiIs
CiAgICAgICAgICAgICJsaWItZHlubG9hZC9fanNvbi4qLnNvIgogICAgICAgIF0KICAgIH0sCiAg
ICAibGFuZyI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gbG93LWxldmVsIGxhbmd1YWdlIHN1
cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAg
ICAgICAgICAibGliLWR5bmxvYWQvX2Jpc2VjdC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5s
b2FkL19jb2xsZWN0aW9ucy4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19oZWFwcS4q
LnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19vcGNvZGUuKi5zbyIsCiAgICAgICAgICAg
ICJsaWItZHlubG9hZC9fd2Vha3JlZi4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL19m
dW5jdG9vbHMuKi5zbyIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9hcnJheS4qLnNvIiwKICAg
ICAgICAgICAgImxpYi1keW5sb2FkL2l0ZXJ0b29scy4qLnNvIiwKICAgICAgICAgICAgImxpYi1k
eW5sb2FkL29wZXJhdG9yLiouc28iLAogICAgICAgICAgICAibGliLWR5bmxvYWQvcGFyc2VyLiou
c28iLAogICAgICAgICAgICAiYXRleGl0LioiLAogICAgICAgICAgICAiYmlzZWN0LioiLAogICAg
ICAgICAgICAiY29kZS4qIiwKICAgICAgICAgICAgImNvZGVvcC4qIiwKICAgICAgICAgICAgImNv
bGxlY3Rpb25zLioiLAogICAgICAgICAgICAiX2NvbGxlY3Rpb25zX2FiYy4qIiwKICAgICAgICAg
ICAgImRpcy4qIiwKICAgICAgICAgICAgImZ1bmN0b29scy4qIiwKICAgICAgICAgICAgImhlYXBx
LioiLAogICAgICAgICAgICAiaW5zcGVjdC4qIiwKICAgICAgICAgICAgImtleXdvcmQuKiIsCiAg
ICAgICAgICAgICJvcGNvZGUuKiIsCiAgICAgICAgICAgICJvcGVyYXRvci4qIiwKICAgICAgICAg
ICAgInBhdGhsaWIuKiIsCiAgICAgICAgICAgICJzeW1ib2wuKiIsCiAgICAgICAgICAgICJyZXBy
LioiLAogICAgICAgICAgICAidG9rZW4uKiIsCiAgICAgICAgICAgICJ0b2tlbml6ZS4qIiwKICAg
ICAgICAgICAgInRyYWNlYmFjay4qIiwKICAgICAgICAgICAgIndlYWtyZWYuKiIKICAgICAgICBd
CiAgICB9LAogICAgImxvZ2dpbmciOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGxvZ2dpbmcg
c3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAiaW8iLCAibGFuZyIsICJwaWNrbGUi
LCAic3RyaW5nb2xkIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibG9nZ2luZyIK
ICAgICAgICBdCiAgICB9LAogICAgIm1haWxib3giOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9u
IG1haWxib3ggZm9ybWF0IHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwgIm1pbWUi
XSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJtYWlsY2FwLioiLAogICAgICAgICAg
ICAibWFpbGJveC4qIgogICAgICAgIF0KICAgIH0sCiAgICAibWF0aCI6IHsKICAgICAgICAiZGVz
YyI6ICJQeXRob24gbWF0aCBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAg
ICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL2NtYXRoLiouc28iLAogICAg
ICAgICAgICAibGliLWR5bmxvYWQvbWF0aC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2Fk
L19yYW5kb20uKi5zbyIsCiAgICAgICAgICAgICJyYW5kb20uKiIsCiAgICAgICAgICAgICJzZXRz
LioiCiAgICAgICAgXQogICAgfSwKICAgICJtaW1lIjogewogICAgICAgICJkZXNjIjogIlB5dGhv
biBNSU1FIGhhbmRsaW5nIEFQSXMiLAogICAgICAgICJkZXBzIjogWyJjb3JlIiwgImlvIl0sCiAg
ICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibWltZXRvb2xzLioiLAogICAgICAgICAgICAi
dXUuKiIsCiAgICAgICAgICAgICJxdW9wcmkuKiIsCiAgICAgICAgICAgICJyZmM4MjIuKiIsCiAg
ICAgICAgICAgICJNaW1lV3JpdGVyLioiCiAgICAgICAgXQogICAgfSwKICAgICJtbWFwIjogewog
ICAgICAgICJkZXNjIjogIlB5dGhvbiBtZW1vcnktbWFwcGVkIGZpbGUgc3VwcG9ydCIsCiAgICAg
ICAgImRlcHMiOiBbImNvcmUiLCAiaW8iXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAg
ICJsaWItZHlubG9hZC9tbWFwLiouc28iCiAgICAgICAgXQogICAgfSwKICAgICJtdWx0aXByb2Nl
c3NpbmciOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIG11bHRpcHJvY2Vzc2luZyBzdXBwb3J0
IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyIsICJsYW5nIiwgInBpY2tsZSIsICJ0aHJl
YWRpbmciLCAiY3R5cGVzIiwgIm1tYXAiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAg
ICJsaWItZHlubG9hZC9fbXVsdGlwcm9jZXNzaW5nLiouc28iLAogICAgICAgICAgICAibXVsdGlw
cm9jZXNzaW5nIgogICAgICAgIF0KICAgIH0sCiAgICAibmV0Y2xpZW50IjogewogICAgICAgICJk
ZXNjIjogIlB5dGhvbiBJbnRlcm5ldCBQcm90b2NvbCBjbGllbnRzIiwKICAgICAgICAiZGVwcyI6
IFsiY29yZSIsICJjcnlwdCIsICJkYXRldGltZSIsICJpbyIsICJsYW5nIiwgImxvZ2dpbmciLCAi
bWltZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIipDb29raWUqLioiLAogICAg
ICAgICAgICAiYmFzZTY0LioiLAogICAgICAgICAgICAiY29va2llbGliLioiLAogICAgICAgICAg
ICAiZnRwbGliLioiLAogICAgICAgICAgICAiZ29waGVybGliLioiLAogICAgICAgICAgICAiaG1h
Yy4qIiwKICAgICAgICAgICAgImh0dHBsaWIuKiIsCiAgICAgICAgICAgICJpcGFkZHJlc3MuKiIs
CiAgICAgICAgICAgICJtaW1ldHlwZXMuKiIsCiAgICAgICAgICAgICJuZXRyYy4qIiwKICAgICAg
ICAgICAgIm5udHBsaWIuKiIsCiAgICAgICAgICAgICJwb3BsaWIuKiIsCiAgICAgICAgICAgICJz
bXRwbGliLioiLAogICAgICAgICAgICAidGVsbmV0bGliLioiLAogICAgICAgICAgICAidXJsbGli
IiwKICAgICAgICAgICAgInV1aWQuKiIsCiAgICAgICAgICAgICJyZmM4MjIuKiIsCiAgICAgICAg
ICAgICJtaW1ldG9vbHMuKiIKICAgICAgICBdCiAgICB9LAogICAgIm5ldHNlcnZlciI6IHsKICAg
ICAgICAiZGVzYyI6ICJQeXRob24gSW50ZXJuZXQgUHJvdG9jb2wgc2VydmVycyIsCiAgICAgICAg
ImRlcHMiOiBbImNvcmUiLCAibmV0Y2xpZW50IiwgInNoZWxsIiwgInRocmVhZGluZyJdLAogICAg
ICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgImNnaS4qIiwKICAgICAgICAgICAgImNnaXRiLioi
LAogICAgICAgICAgICAiaHR0cCIsCiAgICAgICAgICAgICJzb2NrZXRzZXJ2ZXIuKiIKICAgICAg
ICBdCiAgICB9LAogICAgIm51bWJlcnMiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIG51bWJl
ciBBUElzIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJsYW5nIiwgInJlIl0sCiAgICAgICAg
ImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxvYWQvX2RlY2ltYWwuKi5zbyIsCiAgICAg
ICAgICAgICJkZWNpbWFsLioiLAogICAgICAgICAgICAiZnJhY3Rpb25zLioiLAogICAgICAgICAg
ICAibnVtYmVycy4qIgogICAgICAgIF0KICAgIH0sCiAgICAicGlja2xlIjogewogICAgICAgICJk
ZXNjIjogIlB5dGhvbiBzZXJpYWxpc2F0aW9uL3BlcnNpc3RlbmNlIHN1cHBvcnQiLAogICAgICAg
ICJkZXBzIjogWyJjb3JlIiwgImNvZGVjcyIsICJpbyIsICJyZSJdLAogICAgICAgICJmaWxlcyI6
IFsKICAgICAgICAgICAgIl9jb21wYXRfcGlja2xlLioiLAogICAgICAgICAgICAibGliLWR5bmxv
YWQvX3BpY2tsZS4qLnNvIiwKICAgICAgICAgICAgInBpY2tsZS4qIiwKICAgICAgICAgICAgInBp
Y2tsZXRvb2xzLioiLAogICAgICAgICAgICAic2hlbHZlLioiCiAgICAgICAgXQogICAgfSwKICAg
ICJwa2d1dGlsIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBwYWNrYWdlIGV4dGVuc2lvbiB1
dGlsaXR5IHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVz
IjogWwogICAgICAgICAgICAicGtndXRpbC4qIgogICAgICAgIF0KICAgIH0sCiAgICAicHByaW50
IjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBwcmV0dHktcHJpbnQgc3VwcG9ydCIsCiAgICAg
ICAgImRlcHMiOiBbImNvcmUiLCAiaW8iXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAg
ICJwcHJpbnQuKiIKICAgICAgICBdCiAgICB9LAogICAgInByb2ZpbGUiOiB7CiAgICAgICAgImRl
c2MiOiAiUHl0aG9uIGJhc2ljIHBlcmZvcm1hbmNlIHByb2ZpbGluZyBzdXBwb3J0IiwKICAgICAg
ICAiZGVwcyI6IFsiY29yZSIsICJ0ZXh0dXRpbHMiXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAg
ICAgICAgICJwcm9maWxlLioiLAogICAgICAgICAgICAicHN0YXRzLioiLAogICAgICAgICAgICAi
Y1Byb2ZpbGUuKiIsCiAgICAgICAgICAgICJsaWItZHlubG9hZC9fbHNwcm9mLiouc28iCiAgICAg
ICAgXQogICAgfSwKICAgICJyZSI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gUmVndWxhciBF
eHByZXNzaW9uIEFQSXMiLAogICAgICAgICJkZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVz
IjogWwogICAgICAgICAgICAicmUuKiIsCiAgICAgICAgICAgICJzcmUuKiIsCiAgICAgICAgICAg
ICJzcmVfY29tcGlsZS4qIiwKICAgICAgICAgICAgInNyZV9jb25zdGFudHMqIiwKICAgICAgICAg
ICAgInNyZV9wYXJzZS4qIgogICAgICAgIF0KICAgIH0sCiAgICAicmVhZGxpbmUiOiB7CiAgICAg
ICAgImRlc2MiOiAiUHl0aG9uIHJlYWRsaW5lIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJj
b3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxvYWQvcmVhZGxp
bmUuKi5zbyIsCiAgICAgICAgICAgICJybGNvbXBsZXRlci4qIgogICAgICAgIF0KICAgIH0sCiAg
ICAicmVwcmxpYiI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gYWx0ZXJuYXRlIHJlcHIoKSBp
bXBsZW1lbnRhdGlvbiIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAgICAiZmlsZXMi
OiBbCiAgICAgICAgICAgICJyZXBybGliLnB5IgogICAgICAgIF0KICAgIH0sCiAgICAicmVzb3Vy
Y2UiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIHJlc291cmNlIGNvbnRyb2wgaW50ZXJmYWNl
IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAg
ICAgImxpYi1keW5sb2FkL3Jlc291cmNlLiouc28iCiAgICAgICAgXQogICAgfSwKICAgICJzaGVs
bCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gc2hlbGwtbGlrZSBmdW5jdGlvbmFsaXR5IiwK
ICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJyZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAg
ICAgICAgImNtZC4qIiwKICAgICAgICAgICAgImNvbW1hbmRzLioiLAogICAgICAgICAgICAiZGly
Y2FjaGUuKiIsCiAgICAgICAgICAgICJmbm1hdGNoLioiLAogICAgICAgICAgICAiZ2xvYi4qIiwK
ICAgICAgICAgICAgInBvcGVuMi4qIiwKICAgICAgICAgICAgInNobGV4LioiLAogICAgICAgICAg
ICAic2h1dGlsLioiCiAgICAgICAgXQogICAgfSwKICAgICJzdWJwcm9jZXNzIjogewogICAgICAg
ICJkZXNjIjogIlB5dGhvbiBzdWJwcm9jZXNzIHN1cHBvcnQiLAogICAgICAgICJkZXBzIjogWyJj
b3JlIiwgImlvIiwgInJlIiwgImZjbnRsIiwgInBpY2tsZSJdLAogICAgICAgICJmaWxlcyI6IFsK
ICAgICAgICAgICAgInN1YnByb2Nlc3MuKiIKICAgICAgICBdCiAgICB9LAogICAgInNxbGl0ZTMi
OiB7CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIFNxbGl0ZTMgZGF0YWJhc2Ugc3VwcG9ydCIsCiAg
ICAgICAgImRlcHMiOiBbImNvcmUiLCAiZGF0ZXRpbWUiLCAibGFuZyIsICJjcnlwdCIsICJpbyIs
ICJ0aHJlYWRpbmciXSwKICAgICAgICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9h
ZC9fc3FsaXRlMy4qLnNvIiwKICAgICAgICAgICAgInNxbGl0ZTMvZGJhcGkyLioiLAogICAgICAg
ICAgICAic3FsaXRlMy9fX2luaXRfXy4qIiwKICAgICAgICAgICAgInNxbGl0ZTMvZHVtcC4qIgog
ICAgICAgIF0KICAgIH0sCiAgICAic3FsaXRlMy10ZXN0cyI6IHsKICAgICAgICAiZGVzYyI6ICJQ
eXRob24gU3FsaXRlMyBkYXRhYmFzZSBzdXBwb3J0IHRlc3RzIiwKICAgICAgICAiZGVwcyI6IFsi
Y29yZSIsICJzcWxpdGUzIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAic3FsaXRl
My90ZXN0IgogICAgICAgIF0KICAgIH0sCiAgICAic3RyaW5nb2xkIjogewogICAgICAgICJkZXNj
IjogIlB5dGhvbiBzdHJpbmcgQVBJcyBbZGVwcmVjYXRlZF0iLAogICAgICAgICJkZXBzIjogWyJj
b3JlIiwgInJlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxvYWQv
c3Ryb3AuKi5zbyIsCiAgICAgICAgICAgICJzdHJpbmcuKiIsCiAgICAgICAgICAgICJzdHJpbmdv
bGQuKiIKICAgICAgICBdCiAgICB9LAogICAgInN5c2xvZyI6IHsKICAgICAgICAiZGVzYyI6ICJQ
eXRob24gc3lzbG9nIGludGVyZmFjZSIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiXSwKICAgICAg
ICAiZmlsZXMiOiBbCiAgICAgICAgICAgICJsaWItZHlubG9hZC9zeXNsb2cuKi5zbyIKICAgICAg
ICBdCiAgICB9LAogICAgInRlcm1pbmFsIjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiB0ZXJt
aW5hbCBjb250cm9sbGluZyBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJpbyJd
LAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInB0eS4qIiwKICAgICAgICAgICAgInR0
eS4qIgogICAgICAgIF0KICAgIH0sCiAgICAidGVzdHMiOiB7CiAgICAgICAgImRlc2MiOiAiUHl0
aG9uIHRlc3RzIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJmaWxlcyI6IFsK
ICAgICAgICAgICAgInRlc3QiCiAgICAgICAgXQogICAgfSwKICAgICJ0aHJlYWRpbmciOiB7CiAg
ICAgICAgImRlc2MiOiAiUHl0aG9uIHRocmVhZGluZyAmIHN5bmNocm9uaXphdGlvbiBzdXBwb3J0
IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIsICJsYW5nIl0sCiAgICAgICAgImZpbGVzIjogWwog
ICAgICAgICAgICAiX3RocmVhZGluZ19sb2NhbC4qIiwKICAgICAgICAgICAgIl9kdW1teV90aHJl
YWQuKiIsCiAgICAgICAgICAgICJkdW1teV90aHJlYWQuKiIsCiAgICAgICAgICAgICJkdW1teV90
aHJlYWRpbmcuKiIsCiAgICAgICAgICAgICJtdXRleC4qIiwKICAgICAgICAgICAgInRocmVhZGlu
Zy4qIiwKICAgICAgICAgICAgInF1ZXVlLioiCiAgICAgICAgXQogICAgfSwKICAgICJ0a2ludGVy
IjogewogICAgICAgICJkZXNjIjogIlB5dGhvbiBUY2wvVGsgYmluZGluZ3MiLAogICAgICAgICJk
ZXBzIjogWyJjb3JlIl0sCiAgICAgICAgImZpbGVzIjogWwogICAgICAgICAgICAibGliLWR5bmxv
YWQvX3RraW50ZXIuKi5zbyIsCiAgICAgICAgICAgICJsaWItdGsiLAogICAgICAgICAgICAidGtp
bnRlciIKICAgICAgICBdCiAgICB9LAogICAgInVuaXR0ZXN0IjogewogICAgICAgICJkZXNjIjog
IlB5dGhvbiB1bml0IHRlc3RpbmcgZnJhbWV3b3JrIiwKICAgICAgICAiZGVwcyI6IFsiY29yZSIs
ICJzdHJpbmdvbGQiLCAibGFuZyIsICJpbyIsICJkaWZmbGliIiwgInBwcmludCIsICJzaGVsbCJd
LAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgInVuaXR0ZXN0LyIKICAgICAgICBdCiAg
ICB9LAogICAgInVuaXhhZG1pbiI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRob24gVW5peCBhZG1p
bmlzdHJhdGlvbiBzdXBwb3J0IiwKICAgICAgICAiZGVwcyI6IFsiY29yZSJdLAogICAgICAgICJm
aWxlcyI6IFsKICAgICAgICAgICAgImxpYi1keW5sb2FkL25pcy4qLnNvIiwKICAgICAgICAgICAg
ImxpYi1keW5sb2FkL2dycC4qLnNvIiwKICAgICAgICAgICAgImxpYi1keW5sb2FkL3Nwd2QuKi5z
byIsCiAgICAgICAgICAgICJnZXRwYXNzLioiCiAgICAgICAgXQogICAgfSwKICAgICJ4bWwiOiB7
CiAgICAgICAgImRlc2MiOiAiUHl0aG9uIGJhc2ljIFhNTCBzdXBwb3J0IiwKICAgICAgICAiZGVw
cyI6IFsiY29yZSIsICJlbGVtZW50dHJlZSIsICJyZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAg
ICAgICAgICAgImxpYi1keW5sb2FkL3B5ZXhwYXQuKi5zbyIsCiAgICAgICAgICAgICJ4bWwiLAog
ICAgICAgICAgICAieG1sbGliLioiCiAgICAgICAgXQogICAgfSwKICAgICJ4bWxycGMiOiB7CiAg
ICAgICAgImRlc2MiOiAiUHl0aG9uIFhNTC1SUEMgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBb
ImNvcmUiLCAieG1sIiwgIm5ldHNlcnZlciIsICJsYW5nIl0sCiAgICAgICAgImZpbGVzIjogWwog
ICAgICAgICAgICAieG1scnBjbGliLioiLAogICAgICAgICAgICAiU2ltcGxlWE1MUlBDU2VydmVy
LioiLAogICAgICAgICAgICAiRG9jWE1MUlBDU2VydmVyLioiLAogICAgICAgICAgICAieG1scnBj
IgogICAgICAgIF0KICAgIH0sCiAgICAibWFpbGJveCI6IHsKICAgICAgICAiZGVzYyI6ICJQeXRo
b24gbWFpbGJveCBmb3JtYXQgc3VwcG9ydCIsCiAgICAgICAgImRlcHMiOiBbImNvcmUiLCAibWlt
ZSJdLAogICAgICAgICJmaWxlcyI6IFsKICAgICAgICAgICAgIm1haWxib3guKiIKICAgICAgICBd
CiAgICB9Cn0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2872</attachid>
            <date>2015-11-26 21:02:40 +0000</date>
            <delta_ts>2015-11-26 23:48:10 +0000</delta_ts>
            <desc>Manifest generation code</desc>
            <filename>generate-manifest.py</filename>
            <type>text/x-python</type>
            <size>1672</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwoKaW1wb3J0IGpzb24KaW1wb3J0IHN5cwoKCmRlZiBtYW5p
ZmVzdF9saW5lcyhwYWNrYWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKToKICAgIHlpZWxk
IGZtdF9saW5lKHBhY2thZ2UsICcnLCBmbXRfaXRlbShpdGVtc1swXSkpCiAgICBpZiBsZW4oaXRl
bXMpID4gMToKICAgICAgICBpdGVtcyA9IGl0ZW1zWzE6XQogICAgICAgIGl0ZW1zID0gKGZtdF9p
dGVtKHMpIGZvciBzIGluIGl0ZW1zKQogICAgICAgIHlpZWxkIGZyb20gKGZtdF9saW5lKHBhY2th
Z2UsICcrJywgcykgZm9yIHMgaW4gaXRlbXMpCgoKZGVmIHByaW50X2xpbmVzKHBhY2thZ2UsIGl0
ZW1zLCBmbXRfbGluZSwgZm10X2l0ZW0pOgogICAgbGluZXMgPSBtYW5pZmVzdF9saW5lcyhwYWNr
YWdlLCBpdGVtcywgZm10X2xpbmUsIGZtdF9pdGVtKQogICAgcHJpbnQoJ1xuJy5qb2luKGxpbmVz
KSkKICAgIHByaW50KCkKCgpkZWYgZm10X2ZpbGUocyk6CiAgICByZXR1cm4gcyBpZiBzLnN0YXJ0
c3dpdGgoJyR7JykgXAogICAgICAgIGVsc2UgJyR7e2xpYmRpcn19L3B5dGhvbiR7e1BZVEhPTl9C
QVNFVkVSU0lPTn19L3t9Jy5mb3JtYXQocykKCgpmbXRfcyA9ICdTVU1NQVJZXyR7e1BOfX0te30g
PSAie30iJy5mb3JtYXQKZm10X2QgPSAnUkRFUEVORFNfJHt7UE59fS17fSB7fT0gInt9IicuZm9y
bWF0CmZtdF9mID0gJ0ZJTEVTXyR7e1BOfX0te30ge309ICJ7fSInLmZvcm1hdApmbXRfcCA9ICdQ
QUNLQUdFU3s6LjB9IHt9PSAie30iJy5mb3JtYXQgICMgbm90ZTogcGFja2FnZSBuYW1lIGlzIGln
bm9yZWQKZm10X3BhY2thZ2UgPSAnJHt7UE59fS17fScuZm9ybWF0CgpkYXRhID0ganNvbi5sb2Fk
KHN5cy5zdGRpbikKCnByaW50KAogICAgJyNcbiMgV0FSTklORzogVGhpcyBmaWxlIGlzIEFVVE8g
R0VORVJBVEVEOiBNYW51YWwgZWRpdHMgd2lsbCcKICAgICcgYmUgbG9zdC5cbiNcbicKKQoKcGFj
a2FnZXMgPSBzb3J0ZWQobGlzdChkYXRhKSArIFsnbW9kdWxlcyddKQpwYWNrYWdlcyA9ICgnUFJP
VklERVMgKz0gIiR7e1BOfX0te30iJy5mb3JtYXQocykgZm9yIHMgaW4gcGFja2FnZXMpCnByaW50
KCdcbicuam9pbihwYWNrYWdlcykpCnByaW50KCkKCnBhY2thZ2VzID0gc29ydGVkKGxpc3QoZGF0
YSkgKyBbJ2RiZycsICdtb2R1bGVzJ10pCnByaW50X2xpbmVzKCcnLCBwYWNrYWdlcywgZm10X3As
IGZtdF9wYWNrYWdlKQoKZm9yIHBhY2thZ2UsIGluZm8gaW4gc29ydGVkKGRhdGEuaXRlbXMoKSk6
CiAgICBwcmludChmbXRfcyhwYWNrYWdlLCBpbmZvWydkZXNjJ10pKQoKICAgIHByaW50X2xpbmVz
KHBhY2thZ2UsIGluZm9bJ2RlcHMnXSwgZm10X2QsIGZtdF9wYWNrYWdlKQogICAgcHJpbnRfbGlu
ZXMocGFja2FnZSwgaW5mb1snZmlsZXMnXSwgZm10X2YsIGZtdF9maWxlKQoKaXNfb2sgPSBsYW1i
ZGEgczogbm90IChzIGluIHsnZGV2JywgJ2Rpc3R1dGlscy1zdGF0aWNkZXYnfSBvciBzLmVuZHN3
aXRoKCd0ZXN0cycpKQpkZXBzID0gW3MgZm9yIHMgaW4gZGF0YSBpZiBpc19vayhzKV0KcHJpbnQo
Zm10X3MoJ21vZHVsZXMnLCAnQWxsIFB5dGhvbiBtb2R1bGVzJykpCnByaW50X2xpbmVzKCdtb2R1
bGVzJywgZGVwcywgZm10X2QsIGZtdF9wYWNrYWdlKQoKcHJpbnQoJ1xuQUxMT1dfRU1QVFlfJHtQ
Tn0tbW9kdWxlcyA9ICIxIicpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2873</attachid>
            <date>2015-11-26 23:48:10 +0000</date>
            <delta_ts>2015-11-26 23:48:10 +0000</delta_ts>
            <desc>Manifest generation script (python 2 and py3k compatible)</desc>
            <filename>generate-manifest.py</filename>
            <type>text/x-python</type>
            <size>1800</size>
            <attacher>wrobell</attacher>
            
              <data encoding="base64">IyEvdXNyL2Jpbi9lbnYgcHl0aG9uCgpmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0
aW9uCgppbXBvcnQganNvbgppbXBvcnQgc3lzCgoKZGVmIG1hbmlmZXN0X2xpbmVzKHBhY2thZ2Us
IGl0ZW1zLCBmbXRfbGluZSwgZm10X2l0ZW0pOgogICAgeWllbGQgZm10X2xpbmUocGFja2FnZSwg
JycsIGZtdF9pdGVtKGl0ZW1zWzBdKSkKICAgIGlmIGxlbihpdGVtcykgPiAxOgogICAgICAgIGl0
ZW1zID0gaXRlbXNbMTpdCiAgICAgICAgaXRlbXMgPSAoZm10X2l0ZW0ocykgZm9yIHMgaW4gaXRl
bXMpCiAgICAgICAgaXRlbXMgPSAoZm10X2xpbmUocGFja2FnZSwgJysnLCBzKSBmb3IgcyBpbiBp
dGVtcykKICAgICAgICBmb3IgcyBpbiBpdGVtczogIyBweTNrOiB1c2UgInlpZWxkIGZyb20gaXRl
bXMiCiAgICAgICAgICAgIHlpZWxkIHMKCgpkZWYgcHJpbnRfbGluZXMocGFja2FnZSwgaXRlbXMs
IGZtdF9saW5lLCBmbXRfaXRlbSk6CiAgICBpdGVtcyA9IHNvcnRlZChpdGVtcykKICAgIGxpbmVz
ID0gbWFuaWZlc3RfbGluZXMocGFja2FnZSwgaXRlbXMsIGZtdF9saW5lLCBmbXRfaXRlbSkKICAg
IHByaW50KCdcbicuam9pbihsaW5lcykpCiAgICBwcmludCgpCgoKZGVmIGZtdF9maWxlKHMpOgog
ICAgcmV0dXJuIHMgaWYgcy5zdGFydHN3aXRoKCckeycpIFwKICAgICAgICBlbHNlICcke3tsaWJk
aXJ9fS9weXRob24ke3tQWVRIT05fQkFTRVZFUlNJT059fS97fScuZm9ybWF0KHMpCgoKZm10X3Mg
PSAnU1VNTUFSWV8ke3tQTn19LXt9ID0gInt9IicuZm9ybWF0CmZtdF9kID0gJ1JERVBFTkRTXyR7
e1BOfX0te30ge309ICJ7fSInLmZvcm1hdApmbXRfZiA9ICdGSUxFU18ke3tQTn19LXt9IHt9PSAi
e30iJy5mb3JtYXQKZm10X3AgPSAnUEFDS0FHRVN7Oi4wfSB7fT0gInt9IicuZm9ybWF0ICAjIG5v
dGU6IHBhY2thZ2UgbmFtZSBpcyBpZ25vcmVkCmZtdF9wYWNrYWdlID0gJyR7e1BOfX0te30nLmZv
cm1hdAoKZGF0YSA9IGpzb24ubG9hZChzeXMuc3RkaW4pCgpwcmludCgKICAgICcjXG4jIFdBUk5J
Tkc6IFRoaXMgZmlsZSBpcyBBVVRPIEdFTkVSQVRFRDogTWFudWFsIGVkaXRzIHdpbGwnCiAgICAn
IGJlIGxvc3QuXG4jXG4nCikKCnBhY2thZ2VzID0gc29ydGVkKGxpc3QoZGF0YSkgKyBbJ21vZHVs
ZXMnXSkKcGFja2FnZXMgPSAoJ1BST1ZJREVTICs9ICIke3tQTn19LXt9IicuZm9ybWF0KHMpIGZv
ciBzIGluIHBhY2thZ2VzKQpwcmludCgnXG4nLmpvaW4ocGFja2FnZXMpKQpwcmludCgpCgpwYWNr
YWdlcyA9IGxpc3QoZGF0YSkgKyBbJ2RiZycsICdtb2R1bGVzJ10KcHJpbnRfbGluZXMoJycsIHBh
Y2thZ2VzLCBmbXRfcCwgZm10X3BhY2thZ2UpCgpmb3IgcGFja2FnZSwgaW5mbyBpbiBzb3J0ZWQo
ZGF0YS5pdGVtcygpKToKICAgIHByaW50KGZtdF9zKHBhY2thZ2UsIGluZm9bJ2Rlc2MnXSkpCgog
ICAgcHJpbnRfbGluZXMocGFja2FnZSwgaW5mb1snZGVwcyddLCBmbXRfZCwgZm10X3BhY2thZ2Up
CiAgICBwcmludF9saW5lcyhwYWNrYWdlLCBpbmZvWydmaWxlcyddLCBmbXRfZiwgZm10X2ZpbGUp
Cgppc19vayA9IGxhbWJkYSBzOiBub3QgKHMgaW4geydkZXYnLCAnZGlzdHV0aWxzLXN0YXRpY2Rl
did9IG9yIHMuZW5kc3dpdGgoJ3Rlc3RzJykpCmRlcHMgPSBbcyBmb3IgcyBpbiBkYXRhIGlmIGlz
X29rKHMpXQpwcmludChmbXRfcygnbW9kdWxlcycsICdBbGwgUHl0aG9uIG1vZHVsZXMnKSkKcHJp
bnRfbGluZXMoJ21vZHVsZXMnLCBkZXBzLCBmbXRfZCwgZm10X3BhY2thZ2UpCgpwcmludCgnXG5B
TExPV19FTVBUWV8ke1BOfS1tb2R1bGVzID0gIjEiJykK
</data>

          </attachment>
      

    </bug>

</bugzilla>