(List (Com {[LIT_CHARS set]} {[LIT_CHARS -e]}) (If (AndOr OP_OR_IF (DBracket {B! {B1 UNARY_STRING_z {[VarSub BOOTSTRAP_HTTP_PROXY]}}}) (DBracket {B! {B1 UNARY_STRING_z {[VarSub BOOTSTRAP_HTTPS_PROXY]}}}) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Testing configured proxies..."]]}) (Com {[LIT_CHARS source]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/shared/shared_proxy_setup.sh]}) ) ) (= scope= flags=0 words=[] bindings=[('REQUIRED_VARS', {[Array {[LIT_CHARS BOOTSTRAP_CACHE_DIR]} {[LIT_CHARS REPO_ROOT]}]})]) (Com {[LIT_CHARS check_for_envvars]} {[VarSub REQUIRED_VARS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}) (Com {[LIT_CHARS source]} {[VarSub REPO_ROOT] [LIT_CHARS /bootstrap/config/build_bins_versions.sh]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BOOTSTRAP_CACHE_DIR]}) (FunctionDef download_file [] (List (= scope= flags=0 words=[] bindings=[('FILE', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('URL', {[VarSub 2]})]) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE]}} {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE] [LIT_CHARS _downloaded]}}}}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE]}) ) (If (DBracket {B? LOGICAL_BINARY_AND {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE]}}} {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE] [LIT_CHARS _downloaded]}}}}) (List (Com {[LIT_CHARS echo]} {[VarSub FILE]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE]}) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[LIT_CHARS --progress-bar]} {[LIT_CHARS -o]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE]} {[VarSub URL]}) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub ?]} {[LIT_CHARS 0]}}) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Received error when attempting to download from "][VarSub URL][LIT_CHARS .]]}) ) (Com {[LIT_CHARS touch]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub FILE] [LIT_CHARS _downloaded]}) ) ) ) ) (FunctionDef cleanup_cookbook [] (List (= scope= flags=0 words=[] bindings=[('COOKBOOK', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('VERSION_TO_KEEP', {[VarSub 2]})]) (AndOr OP_AND_IF (Com {[LIT_CHARS find]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /cookbooks/]} {[LIT_CHARS -name]} {[VarSub COOKBOOK] [LIT_CHARS -] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .tar.gz]} {[LIT_CHARS -and]} {[LIT_CHARS -not]} {[LIT_CHARS -name]} {[VarSub COOKBOOK] [LIT_CHARS -] [VarSub VERSION_TO_KEEP] [LIT_CHARS .tar.gz]} {[LIT_CHARS -delete]}) (Com {[LIT_CHARS true]}) ) (AndOr OP_AND_IF (Com {[LIT_CHARS find]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /cookbooks/]} {[LIT_CHARS -name]} {[VarSub COOKBOOK] [LIT_CHARS -] [\ LIT_ESCAPED_CHAR "\\*"] [LIT_CHARS .tar.gz_downloaded]} {[LIT_CHARS -and]} {[LIT_CHARS -not]} {[LIT_CHARS -name]} {[VarSub COOKBOOK] [LIT_CHARS -] [VarSub VERSION_TO_KEEP] [LIT_CHARS .tar.gz_downloaded]} {[LIT_CHARS -delete]}) (Com {[LIT_CHARS true]}) ) ) ) (FunctionDef download_cookbook [] (List (= scope= flags=0 words=[] bindings=[('COOKBOOK', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('VERSION_TO_GET', {[VarSub 2]})]) (Com {[LIT_CHARS download_file]} {[LIT_CHARS cookbooks/] [VarSub COOKBOOK] [LIT_CHARS -] [VarSub VERSION_TO_GET] [LIT_CHARS .tar.gz]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //cookbooks.opscode.com/api/v1/cookbooks/] [VarSub COOKBOOK] [LIT_CHARS /versions/] [VarSub VERSION_TO_GET] [LIT_CHARS /download]}) ) ) (FunctionDef cleanup_and_download_cookbook [] (List (= scope= flags=0 words=[] bindings=[('COOKBOOK', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('TARGET_VERSION', {[VarSub 2]})]) (Com {[LIT_CHARS cleanup_cookbook]} {[VarSub COOKBOOK]} {[VarSub TARGET_VERSION]}) (Com {[LIT_CHARS download_cookbook]} {[VarSub COOKBOOK]} {[VarSub TARGET_VERSION]}) ) ) (FunctionDef clone_repo [] (List (= scope= flags=0 words=[] bindings=[('URL', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('DIR', {[VarSub 2]})]) (= scope= flags=0 words=[] bindings=[('VER', {[VarSub 3]})]) (If (DBracket {B1 UNARY_FILE_d {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub DIR] [LIT_CHARS /.git]}}) (AndOr OP_OR_IF (Pipeline (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub DIR]} {[LIT_CHARS log]} {[LIT_CHARS --pretty] [LIT_OTHER "="] [LIT_CHARS format] [LIT_OTHER ":"] [SQ ]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[VarSub VER]}) ) (Com {[LIT_CHARS git]} {[LIT_CHARS -C]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub DIR]} {[LIT_CHARS pull]}) ) (ElseTrue) (Com {[LIT_CHARS git]} {[LIT_CHARS clone]} {[VarSub URL]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub DIR]}) ) ) ) (= scope= flags=0 words=[] bindings=[('ROM', {[LIT_CHARS gpxe-1.0.1-80861004.rom]})]) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM]}} {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM] [LIT_CHARS _downloaded]}}}}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM]}) ) (If (DBracket {B? LOGICAL_BINARY_AND {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM]}}} {B! {B1 UNARY_FILE_f {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM] [LIT_CHARS _downloaded]}}}}) (List (Com {[LIT_CHARS echo]} {[VarSub ROM]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM]}) (Com {[LIT_CHARS curl]} {[LIT_CHARS -L]} {[LIT_CHARS --progress-bar]} {[LIT_CHARS -o]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM]} {[DQ [LIT_CHARS "http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Origin: http://rom-o-matic.net"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Host: rom-o-matic.net"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Content-Type: application/x-www-form-urlencoded"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Referer: http://rom-o-matic.net/gpxe/gpxe-1.0.1/contrib/rom-o-matic/build.php"]]} {[LIT_CHARS -H]} {[DQ [LIT_CHARS "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3"]]} {[LIT_CHARS --data]} {[DQ [LIT_CHARS "version=1.0.1&use_flags=1&ofmt=ROM+binary+%28flashable%29+image+%28.rom%29&nic=all-drivers&pci_vendor_code=8086&pci_device_code=1004&PRODUCT_NAME=&PRODUCT_SHORT_NAME=gPXE&CONSOLE_PCBIOS=on&BANNER_TIMEOUT=20&NET_PROTO_IPV4=on&COMCONSOLE=0x3F8&COMSPEED=115200&COMDATA=8&COMPARITY=0&COMSTOP=1&DOWNLOAD_PROTO_TFTP=on&DNS_RESOLVER=on&NMB_RESOLVER=off&IMAGE_ELF=on&IMAGE_NBI=on&IMAGE_MULTIBOOT=on&IMAGE_PXE=on&IMAGE_SCRIPT=on&IMAGE_BZIMAGE=on&IMAGE_COMBOOT=on&AUTOBOOT_CMD=on&NVO_CMD=on&CONFIG_CMD=on&IFMGMT_CMD=on&IWMGMT_CMD=on&ROUTE_CMD=on&IMAGE_CMD=on&DHCP_CMD=on&SANBOOT_CMD=on&LOGIN_CMD=on&embedded_script=&A=Get+Image"]]}) (Com {[LIT_CHARS touch]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /] [VarSub ROM] [LIT_CHARS _downloaded]}) ) ) (Com {[LIT_CHARS download_file]} {[LIT_CHARS ubuntu-14.04-mini.iso]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/mini.iso]}) (= scope= flags=0 words=[] bindings=[('VBOX_VERSION', {[LIT_CHARS 5.0.10]})]) (= scope= flags=0 words=[] bindings=[('VBOX_ADDITIONS', {[LIT_CHARS VBoxGuestAdditions_] [VarSub VBOX_VERSION] [LIT_CHARS .iso]})]) (Com {[LIT_CHARS download_file]} {[VarSub VBOX_ADDITIONS]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //download.virtualbox.org/virtualbox/] [VarSub VBOX_VERSION] [LIT_CHARS /] [VarSub VBOX_ADDITIONS]}) (= scope= flags=0 words=[] bindings=[('BOX', {[LIT_CHARS trusty-server-cloudimg-amd64-vagrant-disk1.box]})]) (Com {[LIT_CHARS download_file]} {[VarSub BOX]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //cloud-images.ubuntu.com/vagrant/trusty/current/] [VarSub BOX]}) (= scope= flags=0 words=[] bindings=[('CHEF_CLIENT_DEB', {[VarSub CHEF_CLIENT_DEB test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS chef_12.9.41-1_amd64.deb]}]})]) (= scope= flags=0 words=[] bindings=[('CHEF_SERVER_DEB', {[VarSub CHEF_SERVER_DEB test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS chef-server-core_12.6.0-1_amd64.deb]}]})]) (Com {[LIT_CHARS download_file]} {[VarSub CHEF_CLIENT_DEB]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //packages.chef.io/stable/ubuntu/10.04/] [VarSub CHEF_CLIENT_DEB]}) (Com {[LIT_CHARS download_file]} {[VarSub CHEF_SERVER_DEB]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //packages.chef.io/stable/ubuntu/14.04/] [VarSub CHEF_SERVER_DEB]}) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /cookbooks]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS apt]} {[VarSub VER_APT_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS chef-client]} {[VarSub VER_CHEF_CLIENT_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS chef_handler]} {[VarSub VER_CHEF_HANDLER_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS concat]} {[VarSub VER_CONCAT_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS cron]} {[VarSub VER_CRON_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS hostsfile]} {[VarSub VER_HOSTSFILE_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS logrotate]} {[VarSub VER_LOGROTATE_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS ntp]} {[VarSub VER_NTP_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS ubuntu]} {[VarSub VER_UBUNTU_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS windows]} {[VarSub VER_WINDOWS_COOKBOOK]}) (Com {[LIT_CHARS cleanup_and_download_cookbook]} {[LIT_CHARS yum]} {[VarSub VER_YUM_COOKBOOK]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS knife-acl-1.0.2.gem]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //rubygems.global.ssl.fastly.net/gems/knife-acl-1.0.2.gem]}) (= scope= flags=0 words=[] bindings=[('GEMS', {[Array {[LIT_CHARS arr-pm-0.0.10]} {[LIT_CHARS backports-3.6.4]} {[LIT_CHARS cabin-0.7.1]} {[LIT_CHARS childprocess-0.5.6]} {[LIT_CHARS clamp-0.6.5]} {[LIT_CHARS ffi-1.9.8]} {OP_NEWLINE "\n"} {[LIT_CHARS fpm-1.3.3]} {[LIT_CHARS json-1.8.2]}]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /fpm_gems]}) (For GEM [{[VarSub GEMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]) (Com {[LIT_CHARS download_file]} {[LIT_CHARS fpm_gems/] [VarSub GEM] [LIT_CHARS .gem]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //rubygems.global.ssl.fastly.net/gems/] [VarSub GEM] [LIT_CHARS .gem]}) ) (= scope= flags=0 words=[] bindings=[('GEMS', {[Array {[LIT_CHARS excon-0.45.3]} {OP_NEWLINE "\n"} {[LIT_CHARS multi_json-1.11.2]} {[LIT_CHARS multipart-post-2.0.0]} {[LIT_CHARS faraday-0.9.1]} {OP_NEWLINE "\n"} {[LIT_CHARS elasticsearch-api-1.0.12]} {[LIT_CHARS elasticsearch-transport-1.0.12]} {OP_NEWLINE "\n"} {[LIT_CHARS elasticsearch-1.0.12]} {[LIT_CHARS fluent-plugin-elasticsearch-0.9.0]}]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /fluentd_gems]}) (For GEM [{[VarSub GEMS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]) (Com {[LIT_CHARS download_file]} {[LIT_CHARS fluentd_gems/] [VarSub GEM] [LIT_CHARS .gem]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //rubygems.global.ssl.fastly.net/gems/] [VarSub GEM] [LIT_CHARS .gem]}) ) (Com {[LIT_CHARS download_file]} {[LIT_CHARS cirros-0.3.4-x86_64-disk.img]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /kibana-4.0.2-linux-x64.tar.gz_downloaded]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /kibana-4.0.2-linux-x64.tar.gz]}) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /diamond_downloaded]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /diamond]}) (Com {[LIT_CHARS clone_repo]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //github.com/python-diamond/Diamond]} {[LIT_CHARS python-diamond]} {[VarSub VER_DIAMOND]}) (Com {[LIT_CHARS clone_repo]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //github.com/mobz/elasticsearch-head]} {[LIT_CHARS elasticsearch-head]} {[VarSub VER_ESPLUGIN]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS pyrabbit-1.0.1.tar.gz]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/p/pyrabbit/pyrabbit-1.0.1.tar.gz]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS requests-aws-0.1.6.tar.gz]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/r/requests-aws/requests-aws-0.1.6.tar.gz]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS pyzabbix-0.7.3.tar.gz]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/p/pyzabbix/pyzabbix-0.7.3.tar.gz]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS pagerduty-zabbix-proxy.py]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //gist.githubusercontent.com/ryanhoskin/202a1497c97b0072a83a/raw/96e54cecdd78e7990bb2a6cc8f84070599bdaf06/pd-zabbix-proxy.py]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS carbon-] [VarSub VER_GRAPHITE_CARBON] [LIT_CHARS .tar.gz]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/c/carbon/carbon-] [VarSub VER_GRAPHITE_CARBON] [LIT_CHARS .tar.gz]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS whisper-] [VarSub VER_GRAPHITE_WHISPER] [LIT_CHARS .tar.gz]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/w/whisper/whisper-] [VarSub VER_GRAPHITE_WHISPER] [LIT_CHARS .tar.gz]}) (Com {[LIT_CHARS download_file]} {[LIT_CHARS graphite-web-] [VarSub VER_GRAPHITE_WEB] [LIT_CHARS .tar.gz]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/g/graphite-web/graphite-web-] [VarSub VER_GRAPHITE_WEB] [LIT_CHARS .tar.gz]}) (= scope= flags=0 words=[] bindings=[('RALLY_PACKAGES', {[Array {[LIT_CHARS Babel-1.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS Jinja2-2.7.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS Mako-1.0.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS MarkupSafe-0.23.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS PyYAML-3.11.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS Pygments-2.0.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS SQLAlchemy-0.9.9.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS Sphinx-1.2.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS Tempita-0.5.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS alembic-0.7.6.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS anyjson-0.3.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS appdirs-1.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS argparse-1.3.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS boto-2.38.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS cffi-1.1.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS cliff-1.12.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS cliff-tablib-1.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS cmd2-0.6.8.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS cryptography-0.9.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS debtcollector-0.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS decorator-3.4.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS docutils-0.12.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS ecdsa-0.13.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS enum34-1.0.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS extras-0.0.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS fixtures-1.2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS futures-3.0.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS httplib2-0.9.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS idna-2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS ipaddress-1.0.7.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS iso8601-0.1.10.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS jsonpatch-1.11.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS jsonpointer-1.9.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS jsonschema-2.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS linecache2-1.0.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS lxml-3.4.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS msgpack-python-0.4.6.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS netaddr-0.7.14.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS netifaces-0.10.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS ordereddict-1.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS os-client-config-1.2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.config-1.11.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.context-0.3.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.db-1.9.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.i18n-1.6.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.log-1.2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.serialization-1.5.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS oslo.utils-1.5.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS paramiko-1.15.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pbr-1.0.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pip-7.0.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS psycopg2-2.6.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pyOpenSSL-0.15.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pyasn1-0.1.7.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pycparser-2.13.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pycrypto-2.6.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pyparsing-2.0.3.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-ceilometerclient-1.2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-cinderclient-1.2.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-designateclient-1.2.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-glanceclient-0.18.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-heatclient-0.6.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-ironicclient-0.6.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-keystoneclient-1.5.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-mimeparse-0.1.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-neutronclient-2.5.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-novaclient-2.25.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-openstackclient-1.3.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-saharaclient-0.9.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-subunit-1.1.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-swiftclient-2.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-troveclient-1.1.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS python-zaqarclient-0.1.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS pytz-2015.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS rally-0.0.4.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS requests-2.7.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS setuptools-17.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS simplejson-3.7.2.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS six-1.9.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS sqlalchemy-migrate-0.9.6.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS sqlparse-0.1.15.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS stevedore-1.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS tablib-0.10.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS testresources-0.2.7.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS testscenarios-0.5.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS testtools-1.8.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS traceback2-1.4.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS unittest2-1.0.1.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS warlock-1.1.0.tar.gz]} {OP_NEWLINE "\n"} {[LIT_CHARS wrapt-1.10.4.tar.gz]}]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[ComSub (Com {[LIT_CHARS uname]})]} {[DQ [LIT_CHARS Darwin]]}}) (= scope= flags=0 words=[] bindings=[('SED', {[DQ [LIT_CHARS "sed -E"]]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('SED', {[DQ [LIT_CHARS "sed -r"]]})]) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub BOOTSTRAP_CACHE_DIR] [LIT_CHARS /rally]}) (For RALLY_PACKAGE [{[VarSub RALLY_PACKAGES bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]) (List (= scope= flags=0 words=[] bindings=[('BARE_PACKAGE_NAME', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub RALLY_PACKAGE]}) (Com {[VarSub SED]} {[SQ ]}) )]})]) (Com {[LIT_CHARS download_file]} {[LIT_CHARS rally/] [VarSub RALLY_PACKAGE]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/] [ComSub (Pipeline (Com {[LIT_CHARS echo]} {[VarSub RALLY_PACKAGE]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -c1]} {[LIT_CHARS -]}) )] [LIT_CHARS /] [VarSub BARE_PACKAGE_NAME] [LIT_CHARS /] [VarSub RALLY_PACKAGE]}) ) ) (Com {[LIT_CHARS download_file]} {[LIT_CHARS rally/prettytable-0.7.2.tar.gz]} {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //pypi.python.org/packages/source/P/PrettyTable/prettytable-0.7.2.tar.gz]}) )