diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..da4d013 Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index d0f4030..a6d117a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,26 @@ _site +.sass-cache/ +.jekyll-metadata +.vscode +config-example.yaml *.sublime-workspace Gemfile.lock +startbootstrap-* +docs/ +venv/ +resources/HorizontalDropDownMenu/ +resources/mega-dropdown +_layouts/bootstrap-horizontalmegamenu.html +python/data/ +python/tmp/ +sponsor-engine/ +feed/prizes/ +_glynn.yml +nohup.out +*prizes.log +*datasets.log +*.pyc +*.iml +.idea + +google_sheets_client_secret.json \ No newline at end of file diff --git a/.htaccess b/.htaccess new file mode 100644 index 0000000..1a81dbd --- /dev/null +++ b/.htaccess @@ -0,0 +1,2 @@ +Options +FollowSymlinks +RewriteEngine on \ No newline at end of file diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..de414ae --- /dev/null +++ b/.travis.yml @@ -0,0 +1,4 @@ +language: ruby +rvm: +- 2.1 +script: "bundle exec jekyll build" \ No newline at end of file diff --git a/Gemfile b/Gemfile index 3a1ebf3..4ff71a3 100644 --- a/Gemfile +++ b/Gemfile @@ -1,2 +1,7 @@ source 'https://rubygems.org' -gem 'github-pages' \ No newline at end of file + +require 'json' +require 'open-uri' +versions = JSON.parse(open('https://pages.github.com/versions.json').read) + +gem 'github-pages', versions['github-pages'] \ No newline at end of file diff --git a/LICENSE b/LICENSE index 0075bd5..e056e7c 100644 --- a/LICENSE +++ b/LICENSE @@ -1,22 +1,395 @@ -The MIT License (MIT) +Attribution 4.0 International -Copyright (c) 2015 gochack-science +======================================================================= -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Creative Commons Corporation ("Creative Commons") is not a law firm and +does not provide legal services or legal advice. Distribution of +Creative Commons public licenses does not create a lawyer-client or +other relationship. Creative Commons makes its licenses and related +information available on an "as-is" basis. Creative Commons gives no +warranties regarding its licenses, any material licensed under their +terms and conditions, or any related information. Creative Commons +disclaims all liability for damages resulting from their use to the +fullest extent possible. -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. +Using Creative Commons Public Licenses -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. +Creative Commons public licenses provide a standard set of terms and +conditions that creators and other rights holders may use to share +original works of authorship and other material subject to copyright +and certain other rights specified in the public license below. The +following considerations are for informational purposes only, are not +exhaustive, and do not form part of our licenses. + Considerations for licensors: Our public licenses are + intended for use by those authorized to give the public + permission to use material in ways otherwise restricted by + copyright and certain other rights. Our licenses are + irrevocable. Licensors should read and understand the terms + and conditions of the license they choose before applying it. + Licensors should also secure all rights necessary before + applying our licenses so that the public can reuse the + material as expected. Licensors should clearly mark any + material not subject to the license. This includes other CC- + licensed material, or material used under an exception or + limitation to copyright. More considerations for licensors: + wiki.creativecommons.org/Considerations_for_licensors + + Considerations for the public: By using one of our public + licenses, a licensor grants the public permission to use the + licensed material under specified terms and conditions. If + the licensor's permission is not necessary for any reason--for + example, because of any applicable exception or limitation to + copyright--then that use is not regulated by the license. Our + licenses grant only permissions under copyright and certain + other rights that a licensor has authority to grant. Use of + the licensed material may still be restricted for other + reasons, including because others have copyright or other + rights in the material. A licensor may make special requests, + such as asking that all changes be marked or described. + Although not required by our licenses, you are encouraged to + respect those requests where reasonable. More_considerations + for the public: + wiki.creativecommons.org/Considerations_for_licensees + +======================================================================= + +Creative Commons Attribution 4.0 International Public License + +By exercising the Licensed Rights (defined below), You accept and agree +to be bound by the terms and conditions of this Creative Commons +Attribution 4.0 International Public License ("Public License"). To the +extent this Public License may be interpreted as a contract, You are +granted the Licensed Rights in consideration of Your acceptance of +these terms and conditions, and the Licensor grants You such rights in +consideration of benefits the Licensor receives from making the +Licensed Material available under these terms and conditions. + + +Section 1 -- Definitions. + + a. Adapted Material means material subject to Copyright and Similar + Rights that is derived from or based upon the Licensed Material + and in which the Licensed Material is translated, altered, + arranged, transformed, or otherwise modified in a manner requiring + permission under the Copyright and Similar Rights held by the + Licensor. For purposes of this Public License, where the Licensed + Material is a musical work, performance, or sound recording, + Adapted Material is always produced where the Licensed Material is + synched in timed relation with a moving image. + + b. Adapter's License means the license You apply to Your Copyright + and Similar Rights in Your contributions to Adapted Material in + accordance with the terms and conditions of this Public License. + + c. Copyright and Similar Rights means copyright and/or similar rights + closely related to copyright including, without limitation, + performance, broadcast, sound recording, and Sui Generis Database + Rights, without regard to how the rights are labeled or + categorized. For purposes of this Public License, the rights + specified in Section 2(b)(1)-(2) are not Copyright and Similar + Rights. + + d. Effective Technological Measures means those measures that, in the + absence of proper authority, may not be circumvented under laws + fulfilling obligations under Article 11 of the WIPO Copyright + Treaty adopted on December 20, 1996, and/or similar international + agreements. + + e. Exceptions and Limitations means fair use, fair dealing, and/or + any other exception or limitation to Copyright and Similar Rights + that applies to Your use of the Licensed Material. + + f. Licensed Material means the artistic or literary work, database, + or other material to which the Licensor applied this Public + License. + + g. Licensed Rights means the rights granted to You subject to the + terms and conditions of this Public License, which are limited to + all Copyright and Similar Rights that apply to Your use of the + Licensed Material and that the Licensor has authority to license. + + h. Licensor means the individual(s) or entity(ies) granting rights + under this Public License. + + i. Share means to provide material to the public by any means or + process that requires permission under the Licensed Rights, such + as reproduction, public display, public performance, distribution, + dissemination, communication, or importation, and to make material + available to the public including in ways that members of the + public may access the material from a place and at a time + individually chosen by them. + + j. Sui Generis Database Rights means rights other than copyright + resulting from Directive 96/9/EC of the European Parliament and of + the Council of 11 March 1996 on the legal protection of databases, + as amended and/or succeeded, as well as other essentially + equivalent rights anywhere in the world. + + k. You means the individual or entity exercising the Licensed Rights + under this Public License. Your has a corresponding meaning. + + +Section 2 -- Scope. + + a. License grant. + + 1. Subject to the terms and conditions of this Public License, + the Licensor hereby grants You a worldwide, royalty-free, + non-sublicensable, non-exclusive, irrevocable license to + exercise the Licensed Rights in the Licensed Material to: + + a. reproduce and Share the Licensed Material, in whole or + in part; and + + b. produce, reproduce, and Share Adapted Material. + + 2. Exceptions and Limitations. For the avoidance of doubt, where + Exceptions and Limitations apply to Your use, this Public + License does not apply, and You do not need to comply with + its terms and conditions. + + 3. Term. The term of this Public License is specified in Section + 6(a). + + 4. Media and formats; technical modifications allowed. The + Licensor authorizes You to exercise the Licensed Rights in + all media and formats whether now known or hereafter created, + and to make technical modifications necessary to do so. The + Licensor waives and/or agrees not to assert any right or + authority to forbid You from making technical modifications + necessary to exercise the Licensed Rights, including + technical modifications necessary to circumvent Effective + Technological Measures. For purposes of this Public License, + simply making modifications authorized by this Section 2(a) + (4) never produces Adapted Material. + + 5. Downstream recipients. + + a. Offer from the Licensor -- Licensed Material. Every + recipient of the Licensed Material automatically + receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this + Public License. + + b. No downstream restrictions. You may not offer or impose + any additional or different terms or conditions on, or + apply any Effective Technological Measures to, the + Licensed Material if doing so restricts exercise of the + Licensed Rights by any recipient of the Licensed + Material. + + 6. No endorsement. Nothing in this Public License constitutes or + may be construed as permission to assert or imply that You + are, or that Your use of the Licensed Material is, connected + with, or sponsored, endorsed, or granted official status by, + the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + + b. Other rights. + + 1. Moral rights, such as the right of integrity, are not + licensed under this Public License, nor are publicity, + privacy, and/or other similar personality rights; however, to + the extent possible, the Licensor waives and/or agrees not to + assert any such rights held by the Licensor to the limited + extent necessary to allow You to exercise the Licensed + Rights, but not otherwise. + + 2. Patent and trademark rights are not licensed under this + Public License. + + 3. To the extent possible, the Licensor waives any right to + collect royalties from You for the exercise of the Licensed + Rights, whether directly or through a collecting society + under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly + reserves any right to collect such royalties. + + +Section 3 -- License Conditions. + +Your exercise of the Licensed Rights is expressly made subject to the +following conditions. + + a. Attribution. + + 1. If You Share the Licensed Material (including in modified + form), You must: + + a. retain the following if it is supplied by the Licensor + with the Licensed Material: + + i. identification of the creator(s) of the Licensed + Material and any others designated to receive + attribution, in any reasonable manner requested by + the Licensor (including by pseudonym if + designated); + + ii. a copyright notice; + + iii. a notice that refers to this Public License; + + iv. a notice that refers to the disclaimer of + warranties; + + v. a URI or hyperlink to the Licensed Material to the + extent reasonably practicable; + + b. indicate if You modified the Licensed Material and + retain an indication of any previous modifications; and + + c. indicate the Licensed Material is licensed under this + Public License, and include the text of, or the URI or + hyperlink to, this Public License. + + 2. You may satisfy the conditions in Section 3(a)(1) in any + reasonable manner based on the medium, means, and context in + which You Share the Licensed Material. For example, it may be + reasonable to satisfy the conditions by providing a URI or + hyperlink to a resource that includes the required + information. + + 3. If requested by the Licensor, You must remove any of the + information required by Section 3(a)(1)(A) to the extent + reasonably practicable. + + 4. If You Share Adapted Material You produce, the Adapter's + License You apply must not prevent recipients of the Adapted + Material from complying with this Public License. + + +Section 4 -- Sui Generis Database Rights. + +Where the Licensed Rights include Sui Generis Database Rights that +apply to Your use of the Licensed Material: + + a. for the avoidance of doubt, Section 2(a)(1) grants You the right + to extract, reuse, reproduce, and Share all or a substantial + portion of the contents of the database; + + b. if You include all or a substantial portion of the database + contents in a database in which You have Sui Generis Database + Rights, then the database in which You have Sui Generis Database + Rights (but not its individual contents) is Adapted Material; and + + c. You must comply with the conditions in Section 3(a) if You Share + all or a substantial portion of the contents of the database. + +For the avoidance of doubt, this Section 4 supplements and does not +replace Your obligations under this Public License where the Licensed +Rights include other Copyright and Similar Rights. + + +Section 5 -- Disclaimer of Warranties and Limitation of Liability. + + a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE + EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS + AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF + ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, + IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, + WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, + ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT + KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT + ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. + + b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE + TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, + NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, + COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR + USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR + DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR + IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. + + c. The disclaimer of warranties and limitation of liability provided + above shall be interpreted in a manner that, to the extent + possible, most closely approximates an absolute disclaimer and + waiver of all liability. + + +Section 6 -- Term and Termination. + + a. This Public License applies for the term of the Copyright and + Similar Rights licensed here. However, if You fail to comply with + this Public License, then Your rights under this Public License + terminate automatically. + + b. Where Your right to use the Licensed Material has terminated under + Section 6(a), it reinstates: + + 1. automatically as of the date the violation is cured, provided + it is cured within 30 days of Your discovery of the + violation; or + + 2. upon express reinstatement by the Licensor. + + For the avoidance of doubt, this Section 6(b) does not affect any + right the Licensor may have to seek remedies for Your violations + of this Public License. + + c. For the avoidance of doubt, the Licensor may also offer the + Licensed Material under separate terms or conditions or stop + distributing the Licensed Material at any time; however, doing so + will not terminate this Public License. + + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public + License. + + +Section 7 -- Other Terms and Conditions. + + a. The Licensor shall not be bound by any additional or different + terms or conditions communicated by You unless expressly agreed. + + b. Any arrangements, understandings, or agreements regarding the + Licensed Material not stated herein are separate from and + independent of the terms and conditions of this Public License. + + +Section 8 -- Interpretation. + + a. For the avoidance of doubt, this Public License does not, and + shall not be interpreted to, reduce, limit, restrict, or impose + conditions on any use of the Licensed Material that could lawfully + be made without permission under this Public License. + + b. To the extent possible, if any provision of this Public License is + deemed unenforceable, it shall be automatically reformed to the + minimum extent necessary to make it enforceable. If the provision + cannot be reformed, it shall be severed from this Public License + without affecting the enforceability of the remaining terms and + conditions. + + c. No term or condition of this Public License will be waived and no + failure to comply consented to unless expressly agreed to by the + Licensor. + + d. Nothing in this Public License constitutes or may be interpreted + as a limitation upon, or waiver of, any privileges and immunities + that apply to the Licensor or You, including from the legal + processes of any jurisdiction or authority. + + +======================================================================= + +Creative Commons is not a party to its public +licenses. Notwithstanding, Creative Commons may elect to apply one of +its public licenses to material it publishes and in those instances +will be considered the “Licensor.” The text of the Creative Commons +public licenses is dedicated to the public domain under the CC0 Public +Domain Dedication. Except for the limited purpose of indicating that +material is shared under a Creative Commons public license or as +otherwise permitted by the Creative Commons policies published at +creativecommons.org/policies, Creative Commons does not authorize the +use of the trademark "Creative Commons" or any other trademark or logo +of Creative Commons without its prior written consent including, +without limitation, in connection with any unauthorized modifications +to any of its public licenses or any other arrangements, +understandings, or agreements concerning use of licensed material. For +the avoidance of doubt, this paragraph does not form part of the +public licenses. + +Creative Commons may be contacted at creativecommons.org. \ No newline at end of file diff --git a/README.md b/README.md index e5c6d15..17dad1e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,131 @@ This is the source for the govhack-science website highlighing sciency datasets at [govhack-science.github.io](http://govhack-science.github.io) -Content served by [Jekyll](http://jekyllrb.com/docs/), with layout and nice bits stolen shamelessly from [Rasmus Andersson](https://github.com/rsms/rsms.github.com) \ No newline at end of file +Content served by [Jekyll](http://jekyllrb.com/docs/), with layout and nice bits stolen shamelessly from [Rasmus Andersson](https://github.com/rsms/rsms.github.com) + +# New in 2017 ✨ +- [Google Sheets API](#google-sheets-api) +- [Regions & Locations Loader](#regions--locations-loader) + +# Planning +[GovHack Data Model](https://www.lucidchart.com/documents/view/d36186be-0c77-4e89-a735-6022a716566a) + +# Documentation +- [Jekyll](https://jekyllrb.com/docs/github-pages/) +- [Liquid Templating Engine](https://shopify.github.io/liquid/) +- [Liquid For Designers](https://github.com/Shopify/liquid/wiki/Liquid-for-Designers) + +# Requirements +- Ruby +- RubyGems +- NodeJS +- Python +- Jekyll + +# Installation +https://jekyllrb.com/docs/installation/ +https://jekyllrb.com/docs/github-pages/ + +> Our friends at GitHub have provided the github-pages gem which is used to manage Jekyll and its dependencies on GitHub Pages. Using it in your projects means that when you deploy your site to GitHub Pages, you will not be caught by unexpected differences between various versions of the gems. To use the currently-deployed version of the gem in your project, add the following to your Gemfile + +> The best way to install Jekyll is via RubyGems. At the terminal prompt, simply run the following command to install Jekyll: + +`$ gem install github-pages` + +All of the GitHub pages flavour of Jekyll, and its gem dependencies are automatically installed by the above command, so you won’t have to worry about them at all. + + +# Run +https://jekyllrb.com/docs/usage/ + +`jekyll serve` + +If you receive a message like: + +> Could not find gem 'github-pages (= 67)' in any of the gem sources listed in your Gemfile or available on this machine. (Bundler::GemNotFound) + +Then it means GitHub has upgraded their `github-pages` gem version, so just run `bundle install` from the root directory to upgrade to the latest set of deps GitHub is using. + +# Python Tools +We have a few Python tools to help us manage the ingest of data, and generating a static JSON API. + +To setup a virtual environment run (from the root directory): +``` +virtualenv --system-site-packages venv +. venv/bin/activate +pip install -r python/requirements.txt +``` + +## Google Sheets API +**In 2017, data for the portal is fetch directly from Google Sheets** + +You'll need to copy of the Google Sheets Client Secret before running the import scripts. If you're reading this, you most likely have access to the GOT Google Drive - the file is in `GovHack Drive 💾/Portal Data/google_sheets_client_secret.json`. + +Download this file to your computer, and place it in the `python` directory of this project. + +**ATTENTION:** do not commit this file 👍 + +_The first time you run one of the scripts, you will be asked to grant access to the Portal App to use your account to access to Google Sheets. Grant access or you won't be able to run any of the scripts._ + +### Google Sheets API Config + +In `python/govhack_config.py` there are a few Spreadsheet IDS grabbed from Google Drive. The sheets only need to bo accessible by anyone with a GovHack Google account, no need for them to be public - even if the data in those sheets will then be made public by this site... 🔒 + + +## Regions & Locations Loader +This scripts uses a Google Sheets to create `.md` files for all regions and locations. **Any local edit to files in `pages/_jurisdictions` and `pages/_locations/*` will be lost!** + +To run: +``` +. venv/bin/activate +cd python +python regions_locations.py +``` + +## Mentors Ingest +This script takes a `.csv` file exported from FormStack and generates a set of new .md files. + +To run: +``` +. venv/bin/activate +python python/mentors.py +``` + +The script tries its best to auto-populate the mentor files based on what exists in Jabberwocky (events, organisations, et cetera), but you should *still read the output of the script* to check for any `WARNINGS` you might need to fix up. + + +## Prizes Ingest +This script takes a directroy of `.csv` file downloaded from Google Drive and generates a set of new .md files. + +To run: +``` +. venv/bin/activate +python python/prizes.py +``` + +The script tries its best to auto-populate the prize files based on what exists in Jabberwocky (events, organisations, et cetera), but you should *still read the output of the script* to check for any `WARNINGS` you might need to fix up. + + +## Datasets Ingest +This script takes a `.csv` file exported from FormStack and generates a set of new .md files. + +To run: +``` +. venv/bin/activate +python python/datasets.py +``` + +The script tries its best to auto-populate the dataset files based on what exists in Jabberwocky (events, organisations, et cetera), but you should *still read the output of the script* to check for any `WARNINGS` you might need to fix up. + + +## Static API +This script *need to be run everytime we change the frontmatter of an .md* file so that we always serve the latest content to govhack.org. This generates one `.json.` file for each Markdown file thanks to the magic of [python-frontmatter](https://pypi.python.org/pypi/python-frontmatter/0.2.1). + +At this stage it's a straight conversion from one to the other - with no magic to compose the full entity object, include links to and from it, yet. + +To run: +``` +. venv/bin/activate +python python/frontmatter-to-json.py +``` + +> Tip: If `importError: No module named yaml`, try [this SO](http://stackoverflow.com/questions/1909025/import-error-with-virtualenv). Otherwise the `virtualenv --system-site-packages venv` command should have imported the usual suspects like pyyaml. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..f29853b --- /dev/null +++ b/_config.yml @@ -0,0 +1,131 @@ +cfg: + has_hackerspace: false + current_event: gh17 + events: + - gh17 + - gh16 + - gh15 + - gh14 + - gh13 + +exclude: + - 2015 + - docs + - python + - startbootstrap-agency-1.0.6 + - startbootstrap-clean-blog-1.0.4 + - startbootstrap-clean-blog-1.0.4-original + - startbootstrap-grayscale-1.0.6 + - venv + - datasets + +collections: + sponsors: + enabled: false + output: true + + themes: + enabled: false + output: true + + datasets: + enabled: false + output: true + + dataportals: + enabled: false + output: true + + mentors: + enabled: false + output: true + + organisations: + enabled: false + output: true + + prizes: + enabled: false + output: true + + jurisdictions: + enabled: false + output: true + + locations: + enabled: true + output: true + + handbookchapters: + enabled: false + output: true + + projects: + enabled: false + output: true + +defaults: + - scope: + path: "_datasets" + type: datasets + values: + layout: dataset + + - scope: + path: "_dataportals" + type: dataportals + values: + layout: dataportal + + - scope: + path: "_mentors" + type: mentors + values: + layout: mentor + permalink: /mentors/:title.html + + - scope: + path: "_organisations/sponsors" + type: organisations + values: + layout: organisation + permalink: /sponsors/:title.html + + - scope: + path: "_organisations/supporters" + type: organisations + values: + layout: organisation + permalink: /supporters/:title.html + + - scope: + path: "_prizes" + type: prizes + values: + layout: prize + + - scope: + path: "_jurisdictions" + type: jurisdictions + values: + layout: jurisdiction + permalink: /regions/:title.html + + - scope: + path: "_locations" + type: locations + values: + layout: location + + - scope: + path: "_handbookchapters" + type: handbookchapters + values: + layout: handbook_chapter + permalink: /handbook/:categories/:title.html + + - scope: + path: "_projects" + type: projects + values: + layout: project diff --git a/_data/sponsor_config.json b/_data/sponsor_config.json new file mode 100644 index 0000000..255a133 --- /dev/null +++ b/_data/sponsor_config.json @@ -0,0 +1,71 @@ +{ + "national": { + "defaultColumns": 3, + "classes": [{ + "slug": "lead-agency", + "columns": 1.5 + }, { + "slug": "lead-sponsor", + "columns": 1.5 + }, { + "slug": "red-carpet-awards", + "columns": 1.5 + }, { + "slug": "international-prize", + "columns": 3 + }, { + "slug": "platinum", + "columns": 3 + }, { + "slug": "gold", + "columns": 3 + }, { + "slug": "silver", + "columns": 3 + }, { + "slug": "govt-agency-supporter", + "columns": 3 + }, { + "slug": "supporter", + "columns": 3 + }, { + "slug": "foundation", + "columns": 3 + }] + }, + "state": { + "defaultColumns": 3, + "classes": [{ + "slug": "gold-state-gov-wa", + "columns": 1, + "classNames": "unbound" + }, { + "slug": "platinum-state-qld", + "columns": 1.5 + }, { + "slug": "naming-rights", + "columns": 1.5 + }, { + "slug": "nz-national", + "columns": 3 + }, { + "slug": "premier", + "columns": 3 + }, { + "slug": "platinum", + "columns": 3 + }, { + "slug": "gold", + "columns": 3 + }, { + "slug": "silver", + "columns": 3 + }, { + "slug": "bronze", + "columns": 3 + }, { + "slug": "in-kind", + "columns": 4 + }] + } +} \ No newline at end of file diff --git a/_dataportals/agency/aad.md b/_dataportals/agency/aad.md new file mode 100644 index 0000000..3932629 --- /dev/null +++ b/_dataportals/agency/aad.md @@ -0,0 +1,10 @@ +--- +name: Australian Antarctic Division +gid: aad +website_url: http://data.gov.au/organization/australianantarcticdivision +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: agency-portal +--- + +The data portal for all Australian Antarctic Division data. \ No newline at end of file diff --git a/_dataportals/agency/abs.md b/_dataportals/agency/abs.md new file mode 100644 index 0000000..c81be61 --- /dev/null +++ b/_dataportals/agency/abs.md @@ -0,0 +1,11 @@ +--- +name: Australian Bureau of Statistics +gid: abs +website_url: http://www.abs.gov.au/browse +logo_url: https://www.govhack.org/wp-content/uploads/2016/05/australian_bureau_of_statistics.png +jurisdiction: australia +type: agency-portal +organisation: australian-bureau-of-statistics +--- + +[abs.gov.au](http://abs.gov.au/browse) is the main website of Australia’s national statistical agency, providing access to downloads of trusted official statistics on a wide range of economic, social, population and environmental matters of importance to Australia. [Data By Region](http://abs.gov.au/databyregion) provides you ease of access to ABS statistics on a particular geographical region. Use the tools to browse, search or explore by map to find statistics about different regions in Australia. You can find both a SOAP and a ReSTful API outputting easily parseable XML at our GovHack 2016 site - [govhack.abs.gov.au](http://govhack.abs.gov.au) - a copy of our data warehouse which provides you access to dozens of high demand, major statistics including our special GovHack competition datasets! diff --git a/_dataportals/agency/bom.md b/_dataportals/agency/bom.md new file mode 100644 index 0000000..77b24b1 --- /dev/null +++ b/_dataportals/agency/bom.md @@ -0,0 +1,10 @@ +--- +name: Bureau of Meteorology +gid: bom +website_url: http://reg.bom.gov.au/reguser/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: agency-portal +--- + +The data portal for all BOM data. \ No newline at end of file diff --git a/_dataportals/agency/csiro.md b/_dataportals/agency/csiro.md new file mode 100644 index 0000000..49c0693 --- /dev/null +++ b/_dataportals/agency/csiro.md @@ -0,0 +1,11 @@ +--- +name: CSIRO Data Access Portal +gid: csiro +website_url: https://data.csiro.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: agency-portal +organisation: data-61 +--- + +Provides access to data published by CSIRO across a range of disciplines. It gives access to CC-BY and CSIRO Data License datasets. Diverse subjects – [pulsars](https://data.csiro.au/dap/search?q=Pulsars&p=1&rpp=25&sb=RELEVANCE&dr=all&soud=on) to [viruses](https://data.csiro.au/dap/search?tn=Veterinary%20Virology), [ontologies](http://dx.doi.org/10.4225/08/537452F354E36) to [genomics](https://data.csiro.au/dap/search?q=genomics&p=1&rpp=25&sb=RELEVANCE&dr=all&soud=on), [seabed sediments](https://data.csiro.au/dap/search?q=seabed%20sediments&p=1&rpp=25&sb=RELEVANCE) to [solar radiation](https://data.csiro.au/dap/search?q=solar%20radiation&p=1&rpp=25&sb=RELEVANCE). There is an API which can be used to access the catalogue content, [see here](https://wiki.csiro.au/display/dmsdoc/Web+Services+Interface). \ No newline at end of file diff --git a/_dataportals/agency/ga.md b/_dataportals/agency/ga.md new file mode 100644 index 0000000..681fff3 --- /dev/null +++ b/_dataportals/agency/ga.md @@ -0,0 +1,11 @@ +--- +name: Geoscience Australia +gid: ga +website_url: http://www.ga.gov.au/data-pubs +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: agency-portal +organisation: geoscience-australia +--- + +Let’s you search Geoscience Australia’s extensive catalogue of data, publications, online tools, maps and videos. \ No newline at end of file diff --git a/_dataportals/domain/ala.md b/_dataportals/domain/ala.md new file mode 100644 index 0000000..ff70987 --- /dev/null +++ b/_dataportals/domain/ala.md @@ -0,0 +1,11 @@ +--- +name: Atlas of Living Australia +gid: ala +website_url: https://www.ala.org.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +organisation: ncris-research-data-and-infrastructure-group +--- + +The Atlas of Living Australia contains a massive amount of biodiversity data collated by [Australian scientific communities](http://www.ala.org.au/about-the-atlas/atlas-background/atlas-partners/partner-profiles/) and [citizen scientists](http://www.ala.org.au/get-involved/citizen-science/). Tons of geospatially located species occurrences, info on those species. The ALA also has an extensive set of APIs for downloading and uploading data. \ No newline at end of file diff --git a/_dataportals/domain/asris.md b/_dataportals/domain/asris.md new file mode 100644 index 0000000..0a261a1 --- /dev/null +++ b/_dataportals/domain/asris.md @@ -0,0 +1,10 @@ +--- +name: Australian Soil Resource Information System +gid: asris +website_url: http://www.asris.csiro.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +ASRIS provides access to national soils and landform maps and sample data right across Australia. There’s also a [soil map iOS app](http://www.csiro.au/en/Research/AF/Areas/Sustainable-farming/Decision-support-tools/SoilMapp) that highlights the ways this data could be used. \ No newline at end of file diff --git a/_dataportals/domain/aurin.md b/_dataportals/domain/aurin.md new file mode 100644 index 0000000..37d45f5 --- /dev/null +++ b/_dataportals/domain/aurin.md @@ -0,0 +1,12 @@ +--- +name: Australian Urban Research Infrastructure Network +gid: aurin +website_url: http://aurin.org.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +AURIN is a national collaboration delivering e-research infrastructure to empower better decisions for Australia’s urban settlements and their future development. + +Note some of these data sets are non-government and must be mashed with Govt data. \ No newline at end of file diff --git a/_dataportals/domain/auscope.md b/_dataportals/domain/auscope.md new file mode 100644 index 0000000..06c2089 --- /dev/null +++ b/_dataportals/domain/auscope.md @@ -0,0 +1,10 @@ +--- +name: AuScope Earth Data Portal +gid: auscope +website_url: http://portal.auscope.org +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +The AuScope Earth Data Portal contains a huge variety of Australia-wide geospatial and geoscientific datasets from the CSIRO, Geoscience Australia, the state Geological Surveys and several Australian universities. If you’re interested in accessing the API’s, a how-to for the [mine location/mineral occurrence data is here](https://twiki.auscope.org/wiki/CoreLibrary/ERMLGovHackOerview) and the [borehole data here](https://twiki.auscope.org/wiki/CoreLibrary/NVCLGovHackOverview). \ No newline at end of file diff --git a/_dataportals/domain/imos.md b/_dataportals/domain/imos.md new file mode 100644 index 0000000..2015904 --- /dev/null +++ b/_dataportals/domain/imos.md @@ -0,0 +1,10 @@ +--- +name: Integrated Marine Observing System +gid: imos +website_url: https://imos.aodn.org.au/imos123/home +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +The data portal for all marine data available from universities, DSTO, CSIRO and the IMOS system itself. Treasure trove of info: includes salinity, oxygen, temperature etc for oceans, radar data, AUV stuff etc. \ No newline at end of file diff --git a/_dataportals/domain/rda.md b/_dataportals/domain/rda.md new file mode 100644 index 0000000..2e21f25 --- /dev/null +++ b/_dataportals/domain/rda.md @@ -0,0 +1,10 @@ +--- +name: Research Data Australia +gid: rda +website_url: https://researchdata.ands.org.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +An index of most of the research data that is publically available from Australian institutions. Just make sure you’re mostly using government data (agencies like GA, CSIRO etc are part of government). \ No newline at end of file diff --git a/_dataportals/domain/tern.md b/_dataportals/domain/tern.md new file mode 100644 index 0000000..e37d084 --- /dev/null +++ b/_dataportals/domain/tern.md @@ -0,0 +1,11 @@ +--- +name: Terrestrial Ecosystem Research Network +gid: tern +website_url: http://portal.tern.org.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +organisation: ncris-research-data-and-infrastructure-group +--- + +TERN contains a wide variety of ecosystem datasets including plants, animals, ecological dynamics, fresh water and estuarine ecosystems, [soils](http://portal.tern.org.au/search#%21/q=%22land%20surface%22%20OR%20soil*%20OR%20erosion%20OR%20sedimen*%20OR%20land*%20OR%20topography%20OR%20%22frozen%20AND%20land%22%20OR%20%22soil%20AND%20salinity%22/p=1/tab=collection/num=10), [agriculture](http://portal.tern.org.au/search#%21/q=%28agricultur*%20OR%20farm%20OR%20pastoral%20OR%20pastur*%29%20OR%20%28graz*%20OR%20crop*%20OR%20irrigation%29%20OR%20%28conserv*%20OR%20manage*%29/p=1/tab=collection/num=10), [oceans and coasts](http://portal.tern.org.au/search#%21/q=%28coast*%20OR%20ocean*%29%20OR%20marine%20OR%20beach%20OR%20bathmetry%20OR%20tide*%20OR%20aqua*%20OR%20sea*%20OR%20saltwa*%20OR%20storm%20OR%20shoreline%20OR%20wave*%20OR%20salinity/p=1/tab=collection/num=10), [climate](http://portal.tern.org.au/search#%21/q=climate%20OR%20%28index%20OR%20indice*%29%20OR%20anomaly%20OR%20oscillation%20OR%20pattern/p=1/tab=collection/num=10), [human-nature interaction](http://portal.tern.org.au/search#%21/q=%28human*%20OR%20%22human%20impact%22%29%20OR%20survey%20OR%20boundaries%20OR%20economi*%20OR%20productio*%20OR%20behav*%20OR%20infrastructure%20OR%20%22land%20management%22%20OR%20harzard*/p=1/tab=collection/num=10), and [energy, water and gas](http://portal.tern.org.au/search#%21/q=energy%20OR%20gas%20OR%20flux*%20OR%20atmospher*%20OR%20cloud%20OR%20air%20OR%20Pheno*%20OR%20radia*%20OR%20vapo*%20OR%20wind*%20OR%20precipitation%20OR%20rain/p=1/tab=collection/num=10). \ No newline at end of file diff --git a/_dataportals/domain/trove.md b/_dataportals/domain/trove.md new file mode 100644 index 0000000..882db30 --- /dev/null +++ b/_dataportals/domain/trove.md @@ -0,0 +1,12 @@ +--- +name: Trove +gid: trove +website_url: http://trove.nla.gov.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: domain-portal +--- + +Trove helps you find and use resources relating to Australia. It's more than a search engine. Trove brings together content from libraries, museums, archives, repositories and other research and collecting organisations big and small. A list of contributors and partners whose collections are included in Trove can be viewed online. + +'Trove's origins can be traced back to a project launched by the National Library of Australia in August 2008. Its aim was to build a portal for all of the Library’s online discovery services, including the Register of Australian Archives and Manuscripts, Picture Australia, Libraries Australia, Music Australia, Australia Dancing, PANDORA web archive, ARROW Discovery Service and the Australian Newspapers Beta service. \ No newline at end of file diff --git a/_dataportals/local/adelaide.md b/_dataportals/local/adelaide.md new file mode 100644 index 0000000..5f7bb2f --- /dev/null +++ b/_dataportals/local/adelaide.md @@ -0,0 +1,11 @@ +--- +name: Adelaide City Council +gid: adelaide +website_url: http://data.sa.gov.au/data/organization/adelaide-city-council +logo_url: /resources/csiro-logo.png +jurisdiction: sa +type: local-portal +organisation: adelaide-city-council +--- + +The data portal for all Adelaide City Council data. \ No newline at end of file diff --git a/_dataportals/local/ballarat.md b/_dataportals/local/ballarat.md new file mode 100644 index 0000000..18d82bc --- /dev/null +++ b/_dataportals/local/ballarat.md @@ -0,0 +1,10 @@ +--- +name: City of Ballarat +gid: ballarat +website_url: http://data.gov.au/organization/city-of-ballarat +logo_url: /resources/csiro-logo.png +jurisdiction: vic +type: local-portal +--- + +The data portal for all City of Ballarat data. \ No newline at end of file diff --git a/_dataportals/local/brisbane.md b/_dataportals/local/brisbane.md new file mode 100644 index 0000000..b5c10e9 --- /dev/null +++ b/_dataportals/local/brisbane.md @@ -0,0 +1,10 @@ +--- +name: Brisbane City Council +gid: brisbane +website_url: https://www.data.brisbane.qld.gov.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +--- + +The data portal for all Brisbane City Council data. \ No newline at end of file diff --git a/_dataportals/local/enfield.md b/_dataportals/local/enfield.md new file mode 100644 index 0000000..dac497d --- /dev/null +++ b/_dataportals/local/enfield.md @@ -0,0 +1,10 @@ +--- +name: Port Adelaide Enfield Council +gid: enfield +website_url: http://data.sa.gov.au/data/organization/port-adelaide-enfield-council +logo_url: /resources/csiro-logo.png +jurisdiction: sa +type: local-portal +--- + +The data portal for all Port Adelaide Enfield Council's data. \ No newline at end of file diff --git a/_dataportals/local/geelong.md b/_dataportals/local/geelong.md new file mode 100644 index 0000000..9433251 --- /dev/null +++ b/_dataportals/local/geelong.md @@ -0,0 +1,10 @@ +--- +name: City of Geelong +gid: geelong +website_url: https://data.gov.au/organization/city-of-greater-geelong +logo_url: /resources/csiro-logo.png +jurisdiction: vic +type: local-portal +--- + +The data portal for all City of Geelong data. \ No newline at end of file diff --git a/_dataportals/local/glenorchy.md b/_dataportals/local/glenorchy.md new file mode 100644 index 0000000..d8a2fcc --- /dev/null +++ b/_dataportals/local/glenorchy.md @@ -0,0 +1,10 @@ +--- +name: Glenorchy City Council +gid: glenorchy +website_url: https://data.gov.au/organization/gcc +logo_url: /resources/csiro-logo.png +jurisdiction: tas +type: local-portal +--- + +The data portal for all Glenorchy City Council data. \ No newline at end of file diff --git a/_dataportals/local/gold-coast.md b/_dataportals/local/gold-coast.md new file mode 100644 index 0000000..95beaa3 --- /dev/null +++ b/_dataportals/local/gold-coast.md @@ -0,0 +1,11 @@ +--- +name: City of Gold Coast +gid: gold-coast +website_url: https://data.gov.au/organization/city-of-gold-coast +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +organisation: city-of-gold-coast +--- + +The data portal for all City of Gold Coast data. \ No newline at end of file diff --git a/_dataportals/local/hobart.md b/_dataportals/local/hobart.md new file mode 100644 index 0000000..ff8ebae --- /dev/null +++ b/_dataportals/local/hobart.md @@ -0,0 +1,11 @@ +--- +name: City of Hobart +gid: hobart +website_url: https://data.gov.au/organization/city-of-hobart +logo_url: /resources/csiro-logo.png +jurisdiction: tas +type: local-portal +organisation: city-of-hobart +--- + +The data portal for all City of Hobart data. Also available to preview on their [ESRI Open Data Map](http://data-1.hobartcc.opendata.arcgis.com/). \ No newline at end of file diff --git a/_dataportals/local/launceston.md b/_dataportals/local/launceston.md new file mode 100644 index 0000000..a9f2c75 --- /dev/null +++ b/_dataportals/local/launceston.md @@ -0,0 +1,12 @@ +--- +name: City of Launceston +gid: launceston +website_url: http://data.gov.au/organization/cityoflaunceston +logo_url: /resources/csiro-logo.png +jurisdiction: tas +type: local-portal +--- + +The data portal for all City of Launceston data. Also available to preview on their [ESRI Open Data Map](http://lcc.launceston.opendata.arcgis.com/). + +Also checkout the [Launceston Planning API](http://api.launceston.tas.gov.au/planning/apps_html.php). \ No newline at end of file diff --git a/_dataportals/local/logan.md b/_dataportals/local/logan.md new file mode 100644 index 0000000..3d3b098 --- /dev/null +++ b/_dataportals/local/logan.md @@ -0,0 +1,10 @@ +--- +name: Logan City Council +gid: logan +website_url: http://data.gov.au/organization/logan-city-council +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +--- + +The data portal for all Logan City Council data. Also available to preview on their [ESRI Open Data Map](http://data.logancity.opendata.arcgis.com/). \ No newline at end of file diff --git a/_dataportals/local/melbourne.md b/_dataportals/local/melbourne.md new file mode 100644 index 0000000..645730f --- /dev/null +++ b/_dataportals/local/melbourne.md @@ -0,0 +1,11 @@ +--- +name: City of Melbourne +gid: melbourne +website_url: https://data.melbourne.vic.gov.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: vic +type: local-portal +organisation: city-of-melbourne +--- + +The data portal for all City of Melbourne data. \ No newline at end of file diff --git a/_dataportals/local/moreton-bay.md b/_dataportals/local/moreton-bay.md new file mode 100644 index 0000000..87de646 --- /dev/null +++ b/_dataportals/local/moreton-bay.md @@ -0,0 +1,10 @@ +--- +name: Moreton Bay +gid: moreton-bay +website_url: http://data.mbrc.opendata.arcgis.com/ +logo_url: /resources/csiro-logo.png +jurisdiction: tas +type: local-portal +--- + +The data portal for all Moreton Bay Regional Council data. Also available to preview on their [ESRI Open Data Map](http://data.mbrc.opendata.arcgis.com/). \ No newline at end of file diff --git a/_dataportals/local/noosa.md b/_dataportals/local/noosa.md new file mode 100644 index 0000000..970d389 --- /dev/null +++ b/_dataportals/local/noosa.md @@ -0,0 +1,11 @@ +--- +name: Noosa Shire Council +gid: noosa +website_url: hhttp://data.gov.au/organization/noosa-shire-council +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +organisation: noosa-council +--- + +The data portal for all Noosa Shire Council data. \ No newline at end of file diff --git a/_dataportals/local/onkaparinga.md b/_dataportals/local/onkaparinga.md new file mode 100644 index 0000000..9fc2293 --- /dev/null +++ b/_dataportals/local/onkaparinga.md @@ -0,0 +1,11 @@ +--- +name: City of Onkaparinga +gid: onkaparinga +website_url: http://data.sa.gov.au/data/organization/city-of-onkaparinga +logo_url: /resources/csiro-logo.png +jurisdiction: sa +type: local-portal +organisation: city-of-onkaparinga +--- + +The data portal for all City of Onkaparinga’s data. \ No newline at end of file diff --git a/_dataportals/local/playford.md b/_dataportals/local/playford.md new file mode 100644 index 0000000..060df74 --- /dev/null +++ b/_dataportals/local/playford.md @@ -0,0 +1,11 @@ +--- +name: City of Playford +gid: playford +website_url: http://data.sa.gov.au/data/organization/city-of-playford +logo_url: /resources/csiro-logo.png +jurisdiction: sa +type: local-portal +organisation: city-of-playford +--- + +The data portal for all City of Playford’s data. \ No newline at end of file diff --git a/_dataportals/local/sunshine-coast.md b/_dataportals/local/sunshine-coast.md new file mode 100644 index 0000000..c9f02bc --- /dev/null +++ b/_dataportals/local/sunshine-coast.md @@ -0,0 +1,10 @@ +--- +name: Sunshine Coast Council +gid: sunshine-coast +website_url: https://data.sunshinecoast.qld.gov.au/ +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +--- + +The data portal for all Sunshine Coast Council data. \ No newline at end of file diff --git a/_dataportals/local/toowoomba.md b/_dataportals/local/toowoomba.md new file mode 100644 index 0000000..6e44630 --- /dev/null +++ b/_dataportals/local/toowoomba.md @@ -0,0 +1,10 @@ +--- +name: Toowoomba Regional Council +gid: toowoomba +website_url: http://au-city.census.okfn.org/place/toowoomba_regional_council +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: local-portal +--- + +The data portal for all Toowoomba Regional Council data. \ No newline at end of file diff --git a/_dataportals/local/wyndham.md b/_dataportals/local/wyndham.md new file mode 100644 index 0000000..8094251 --- /dev/null +++ b/_dataportals/local/wyndham.md @@ -0,0 +1,10 @@ +--- +name: Wyndham City Council +gid: wyndham +website_url: https://data.gov.au/organization/wyndham-city-council +logo_url: /resources/csiro-logo.png +jurisdiction: vic +type: local-portal +--- + +The data portal for all Wyndham City Council data. \ No newline at end of file diff --git a/_dataportals/major/actmapi.md b/_dataportals/major/actmapi.md new file mode 100644 index 0000000..75dec2f --- /dev/null +++ b/_dataportals/major/actmapi.md @@ -0,0 +1,10 @@ +--- +name: ACTmapi +gid: actmapi +website_url: http://actmapi.actgov.opendata.arcgis.com/ +logo_url: /resources/csiro-logo.png +jurisdiction: act +type: major-portal +--- + +ACT Government's Open Geospatial Data Site. \ No newline at end of file diff --git a/_dataportals/major/dataactgovau.md b/_dataportals/major/dataactgovau.md new file mode 100644 index 0000000..a7c1d7d --- /dev/null +++ b/_dataportals/major/dataactgovau.md @@ -0,0 +1,10 @@ +--- +name: data.act.gov.au +gid: dataactgovau +website_url: https://data.act.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: act +type: major-portal +--- + +The data portal for all ACT Government data. \ No newline at end of file diff --git a/_dataportals/major/datagovau.md b/_dataportals/major/datagovau.md new file mode 100644 index 0000000..ef5aa5a --- /dev/null +++ b/_dataportals/major/datagovau.md @@ -0,0 +1,12 @@ +--- +name: data.gov.au +gid: datagovau +website_url: https://data.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: australia +type: major-portal +--- + +The data portal for all Australian Federal Government data. + +Explore Australian Government location data on the [NationalMap](http://nationalmap.gov.au/). \ No newline at end of file diff --git a/_dataportals/major/datagovnz.md b/_dataportals/major/datagovnz.md new file mode 100644 index 0000000..ceb4ef6 --- /dev/null +++ b/_dataportals/major/datagovnz.md @@ -0,0 +1,10 @@ +--- +name: data.govt.nz +gid: datagovnz +website_url: https://data.govt.nz +logo_url: /resources/csiro-logo.png +jurisdiction: nz +type: major-portal +--- + +The data portal for all New Zealand Government data. \ No newline at end of file diff --git a/_dataportals/major/datanswgovau.md b/_dataportals/major/datanswgovau.md new file mode 100644 index 0000000..99e4353 --- /dev/null +++ b/_dataportals/major/datanswgovau.md @@ -0,0 +1,12 @@ +--- +name: data.nsw.gov.au +gid: datanswgovau +website_url: http://data.nsw.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: nsw +type: major-portal +--- + +The data portal for all NSW Government data. + +Explore New South Wales Government location data on the [NSW Globe](http://globe.six.nsw.gov.au/). \ No newline at end of file diff --git a/_dataportals/major/dataqldgovau.md b/_dataportals/major/dataqldgovau.md new file mode 100644 index 0000000..524df04 --- /dev/null +++ b/_dataportals/major/dataqldgovau.md @@ -0,0 +1,12 @@ +--- +name: data.qld.gov.au +gid: dataqldgovau +website_url: https://data.qld.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: qld +type: major-portal +--- + +The data portal for all QLD Government data. + +Explore Queensland Government location data on the [Queensland Globe](https://www.business.qld.gov.au/business/support-tools-grants/services/mapping-data-imagery/queensland-globe). \ No newline at end of file diff --git a/_dataportals/major/datasagovau.md b/_dataportals/major/datasagovau.md new file mode 100644 index 0000000..3b64381 --- /dev/null +++ b/_dataportals/major/datasagovau.md @@ -0,0 +1,10 @@ +--- +name: Data.SA +gid: datasagovau +website_url: https://data.sa.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: sa +type: major-portal +--- + +The data portal for all SA Government data. \ No newline at end of file diff --git a/_dataportals/major/datavicgovau.md b/_dataportals/major/datavicgovau.md new file mode 100644 index 0000000..f5c9175 --- /dev/null +++ b/_dataportals/major/datavicgovau.md @@ -0,0 +1,10 @@ +--- +name: data.vic.gov.au +gid: datavicgovau +website_url: http://data.vic.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: vic +type: major-portal +--- + +The data portal for all VIC Government data. \ No newline at end of file diff --git a/_dataportals/major/datawagovau.md b/_dataportals/major/datawagovau.md new file mode 100644 index 0000000..03b2aa8 --- /dev/null +++ b/_dataportals/major/datawagovau.md @@ -0,0 +1,10 @@ +--- +name: data.wa.gov.au +gid: datawagovau +website_url: http://data.wa.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: wa +type: major-portal +--- + +The data portal for all WA Government data. \ No newline at end of file diff --git a/_dataportals/major/tas.md b/_dataportals/major/tas.md new file mode 100644 index 0000000..189632d --- /dev/null +++ b/_dataportals/major/tas.md @@ -0,0 +1,10 @@ +--- +name: data.thelist.tas.gov.au +gid: tas +website_url: https://data.thelist.tas.gov.au +logo_url: /resources/csiro-logo.png +jurisdiction: tas +type: major-portal +--- + +The data portal for all Tasmanian Government location data. [data.gov.au](http://data.gov.au/dataset?jurisdiction=Tasmania&_jurisdiction_limit=0) has some additional datasets. \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-heatmap.md b/_datasets/2016/act/park-cbr/smartparking-heatmap.md new file mode 100644 index 0000000..4a5497e --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-heatmap.md @@ -0,0 +1,17 @@ +--- +dataset_url: 'https://www.data.act.gov.au/Transport/SmartParking-Heat-Map/buwr-4ims ' +events: +- canberra +excerpt_separator: +gid: smartparking-heatmap +jurisdiction: act +name: SmartParking Heatmap +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking Heatmap +mentors: + - roger-rooney + - greg-tankard + - jean-allsop +--- + +The Heat Maps dataset displays the vehicle turnover in each of the bays reported on. \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-history.md b/_datasets/2016/act/park-cbr/smartparking-history.md new file mode 100644 index 0000000..b146473 --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-history.md @@ -0,0 +1,17 @@ +--- +dataset_url: 'https://www.data.act.gov.au/Transport/SmartParking-History/grth-myzs ' +events: +- canberra +excerpt_separator: +gid: smartparking-history +jurisdiction: act +name: SmartParking History +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking History +mentors: + - roger-rooney + - greg-tankard + - jean-allsop +--- + +This dataset contains all the historic events that have occurred at each site, such as vehicle arrivals and departures. \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-lots.md b/_datasets/2016/act/park-cbr/smartparking-lots.md new file mode 100644 index 0000000..e29d3d6 --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-lots.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://www.data.act.gov.au/Transport/SmartParking-Lots/h5gb-tess +events: +- canberra +excerpt_separator: +gid: smartparking-lots +jurisdiction: act +name: SmartParking Lots +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking Lots +mentors: + - roger-rooney + - greg-tankard + - jean-allsop +--- + +The Lots dataset provides locations of the parking bay, the number of lots in the bay, the type of parking and the period of parking allowed. \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-occupancy.md b/_datasets/2016/act/park-cbr/smartparking-occupancy.md new file mode 100644 index 0000000..06ff212 --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-occupancy.md @@ -0,0 +1,17 @@ +--- +dataset_url: 'https://www.data.act.gov.au/Transport/SmartParking-Occupancy/fspr-n6cz ' +events: +- canberra +excerpt_separator: +gid: smartparking-occupancy +jurisdiction: act +name: SmartParking Occupancy +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking Occupancy +mentors: + - roger-rooney + - greg-tankard + - jean-allsop +--- + +The Occupancy dataset displays the occupancy figures for a specified date and time range. It provides a broad understanding of what has been happening at a parking site, aggregated by day, grouped by bay. \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-real-time-api.md b/_datasets/2016/act/park-cbr/smartparking-real-time-api.md new file mode 100644 index 0000000..0a63180 --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-real-time-api.md @@ -0,0 +1,25 @@ +--- +dataset_url: 'https://api.smartparking.com/ ' +events: +- canberra +excerpt_separator: +gid: smartparking-real-time-api +jurisdiction: act +name: SmartParking real time API +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking real time API +mentors: + - roger-rooney +--- + +The SmartLot API v1 lets you query for most locations and returns: + + + +• Lot details +• Lot operating hours +• Lot tariffs +• Lot occupancies +• Unavailable bays +Lots are customer-defined groupings of parking bays within an overall site, and can include bays in multiple and non-contiguous sectors so long as they are all the same type; i.e. disabled, paid, residential etc. Each Lot's spatial GPS co-ordinates are provided as a single central point and not by each individual bay. +The APIs are RESTful; they are URLs with parameters submitted via HTTP. The APIs provide two different ways to get the data back to you, XML and JSON. Full help documentation on the API can be found at http://api.smartparking.com/Help \ No newline at end of file diff --git a/_datasets/2016/act/park-cbr/smartparking-stays.md b/_datasets/2016/act/park-cbr/smartparking-stays.md new file mode 100644 index 0000000..ad16538 --- /dev/null +++ b/_datasets/2016/act/park-cbr/smartparking-stays.md @@ -0,0 +1,17 @@ +--- +dataset_url: 'https://www.data.act.gov.au/Transport/SmartParking-Stays/mya7-jn3e ' +events: +- canberra +excerpt_separator: +gid: smartparking-stays +jurisdiction: act +name: SmartParking Stays +organisation: act-chief-minister-treasury-and-economic-development-directorate +title: SmartParking Stays +mentors: + - roger-rooney + - greg-tankard + - jean-allsop +--- + +The Stay dataset shows the utilisation of an area down to a single bay. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-broadcasting-corporation/abc-gateway-api.md b/_datasets/2016/australia/australian-broadcasting-corporation/abc-gateway-api.md new file mode 100644 index 0000000..6ed893d --- /dev/null +++ b/_datasets/2016/australia/australian-broadcasting-corporation/abc-gateway-api.md @@ -0,0 +1,54 @@ +--- +dataset_url: https://content-api-govhack.abc-prod.net.au/v1/6946348 +excerpt_separator: +gid: abc-gateway-api +jurisdiction: australia +name: ABC Gateway API +organisation: abc +title: ABC Gateway API +mentors: + - sarah-bolt +--- + +This API provides access to retrieve individual pieces of ABC News Content and some associated metadata. It provides users with, amongst other things, detailed information about ABC News articles including their body text. This portal to a substantial body of written News content allows significant opportunity to explore many analysis approaches including natural language processing techniques. + + + +It can be also be used in conjunction with the other data extract highlighted by the ABC, ‘Views of ABC News Digital Content (May 2016)’ provided on data.gov.au. The latter provides hourly traffic to ABC News content on some of the ABC’s digital properties. In combination these sources provide data on what news Australians are reading about in what quantities, when and on what platforms. + +### Details + +The Content Gateway API is an API to retrieve content and metadata by content ID. With each call, it returns a document or collection using that document’s numeric id. There are various different document types, the most common being an article. For example for article 7647654 (http://www.abc.net.au/news/2016-07-21/most-accurate-map-yet-of-human-brain-released-by-scientists/7647654) the content is retrieved by calling: +https://content-api-govhack.abc-prod.net.au/v1/7647654 + + +### Output + +Output is JSON. The following fields are provided for article documents when available: + +* id - numeric content id +* doctype - string document type +* title - title of this document. +* shortTeaserTitle - string +* teaserTitle - string +* shortTeaserTextPlain - string, plain text, links removed +* shortTeaserText - string, HTML +* teaserTextPlain - string, plain text, links removed +* teaserText - string, HTML +* location - a list of all location taxonomies, each will have a content ID, name, postcode, latitude and longitude and its parents. +* subject - a list of all subject taxonomies, each will have subject name, content ID and its parents +* contentGenre - string description of the content genre +* thumbnailLink - thumbnail links for this document +* relatedItems - list of id, doctype and short teaser title for related documents +* firstPublishedDate - ISO8601 format (yyyy-MM-dd'T'HH:mm:ssZZ) with zone UTC +* lastPublishedDate - ISO8601 format (yyyy-MM-dd'T'HH:mm:ssZZ) with zone UTC +* validTo - ISO8601 format (yyyy-MM-dd'T'HH:mm:ssZZ) with zone UTC +* canonicalUrl - the absolute url of the document +* importance - numeric value giving editorial importance +* latitude - a string value for latitude of primary location +* longitude - a string value for longitude of primary longitude +* version - a numeric value representing the current version of the document +* keywords - a group of strings separated by comma +* textPlain - string, HTML, main body conten + +The API does currently have rate limits so you may get an error message "Too many requests". The API will be available from now through to completion of the competition. diff --git a/_datasets/2016/australia/australian-broadcasting-corporation/views-of-abc-news-digital-content-(may-2016).md b/_datasets/2016/australia/australian-broadcasting-corporation/views-of-abc-news-digital-content-(may-2016).md new file mode 100644 index 0000000..0a6e233 --- /dev/null +++ b/_datasets/2016/australia/australian-broadcasting-corporation/views-of-abc-news-digital-content-(may-2016).md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.gov.au/dataset/abc-news-may-2016 +excerpt_separator: +gid: views-of-abc-news-digital-content-(may-2016) +jurisdiction: australia +name: Views of ABC News Digital Content (May 2016) +organisation: abc +title: Views of ABC News Digital Content (May 2016) +mentors: + - sarah-bolt +--- + +The Views of ABC News Digital Content dataset provides both the number of page/screen views per hour for individual pieces of ABC News content and metadata related to each piece of content. The data is taken from across different ABC digital platforms during the month of May 2016. These platforms include the ABC News desktop and mobile websites and the ABC app (both iOS and Android versions). + + + +Each piece of content is represented by its ID and is consistent for the same piece of content across platforms. The URL of the content can be recreated using the platform and this ID. For example, for the “News” platform and id “7373616”, the URL is retrieved using “http://www.abc.net.au/news/7373616”. The content ID is the key which joins the Traffic data with the Content Metadata. +The data set covers the period from 2016-05-01 00:00:00 to 2016-05-31 23:59:59. + +# Rights information +This data includes metadata about existing publicly available stories. In general terms, developers are free to use this data to explore ABC's content. But original stories and images should always be linked to. Stories and photos should not be reproduced in whole on another service. + +The stories themselves and their associated media items still remain the property of ABC and other rights holders where noted. Full details of copyright and more are listed on abc.net.au: http://www.abc.net.au/conditions.htm \ No newline at end of file diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/CoTSM.zip b/_datasets/2016/australia/australian-bureau-of-statistics/CoTSM.zip new file mode 100644 index 0000000..bf22ba4 Binary files /dev/null and b/_datasets/2016/australia/australian-bureau-of-statistics/CoTSM.zip differ diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/abs-govhack-stat.md b/_datasets/2016/australia/australian-bureau-of-statistics/abs-govhack-stat.md new file mode 100644 index 0000000..a36e35a --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/abs-govhack-stat.md @@ -0,0 +1,93 @@ +--- +dataset_url: http://govhack.abs.gov.au +excerpt_separator: +gid: abs-govhack-stat +jurisdiction: australia +name: ABS.Stat - GovHack instance +organisation: australian-bureau-of-statistics +title: ABS.Stat - GovHack instance +mentors: + - chris-beer + - hugh-stehlik + - liam-byrne + - jim-dentrinos + - clare-henry +--- + +[~~ABS~~GovHack.Stat](http://govhack.abs.gov.au) is our dedicated GovHack instance of our public facing data warehouse - ABS.Stat. If you're after ABS data via API, start here. + + + +The site will be live Friday afternoon. + +Use the web interface to view, query and download data; or either the SOAP or ReST (XML) APIs to grab the data you need. + +This is currently an open beta product and we recognise that there may be some issues. If you do spot a problem, please let us know at abs.stat@abs.gov.au or drop us a note in [#talk-tech](https://govhackhq.slack.com/messages/talk-tech/details/) [or open in Slack App] [tech]. And of course, if you need data help, hit us up on [#talk-stats](https://govhackhq.slack.com/messages/talk-stats/details/) [or open in Slack App] [stat]. + +[tech]: +[stat]: + +**Social Statistics** + +Statistics about people, including the 2011 Census. + +* Regional Internal Migration Estimates – Regional internal migration covers the movement of people from one location to another within Australia. +* Estimated Resident Population (ERP) – Estimated Resident Population (ERP) is the official measure of the Australian population. +* Quarterly Population Estimates (ERP) – Estimated Resident Population (ERP) is the official measure of the Australian population. +* Net Overseas Migration – Net overseas migration (NOM) is the net gain or loss of population through immigration to Australia and emigration from Australia. +* Net Interstate Migration – Net interstate migration (NIM) is the difference between the number of persons who have changed their place of usual residence by moving into a given state or territory and the number who have changed their place of usual residence by moving out of that state or territory. +* Population clock component data – All the data you need to make a population clock. (Note: Population Clock components and results do not constitute official ABS projections and should not be used for purposes other than making a Population Clock.) +* Population Projections – These population projections illustrate how Australia’s overall population may change in the future as a result of certain assumptions. +* Aboriginal and Torres Strait Islander Population Projections – These population projections illustrate how Australia’s indigenous population may change in the future as a result of certain assumptions. +* Apparent Consumption of Alcohol, Australia – This publication provides estimates of apparent consumption of alcohol based on the availability of alcoholic beverages in Australia. +* Census 2011 – The Census of Population and Housing is a descriptive count of everyone who is in Australia on one night, and of their dwellings. +* Australian Census Longitudinal Dataset (ACLD) – The Australian Census Longitudinal Dataset (ACLD) is Australia’s largest longitudinal data set bringing together a 5% random sample of around one million records from the 2006 Census with corresponding records from the 2011 Census. +* Socio-Economic Indexes For Areas (SEIFA) – Socio-Economic Indexes for Areas (SEIFA) is a product developed by the ABS that ranks areas in Australia according to relative socio-economic advantage and disadvantage. + +**Economic Statistics** + +Economic Statistics: Main Economic Indicators for Australia including National Accounts, International Trade, Balance of Payments and Housing Finance + +* Merchandise Exports – ($ Thousands) – This data set provides Australian international merchandise export trade statistics. +* Merchandise Imports – ($ Thousands) – This data set provides Australian international merchandise import trade statistics. +* Balance of Payments – The balance of payments (BOP) of is the record of all economic transactions between Australia and the rest of the world for a given period. +* International Investment Position – This data sets presents statistics on Australia’s external financial assets and liabilities. +* Business Indicators – Contains quarterly estimates of profits, income from the sale of goods and services, wages and salaries, and the book value of inventories. +* Private New Capital Expenditure and Expected Expenditure – Contains estimates of actual and expected new capital expenditure by type of asset (new buildings and other structures/equipment, plant and machinery) and by selected Australian and New Zealand Standard Industrial Classification industries +* Housing Finance – This publication presents statistics on housing finance commitments made by significant lenders. +* Lending Finance – This publication presents statistics on finance commitments made by significant lenders for the purposes of secured housing finance for owner occupation, other personal finance, commercial finance and lease finance. + +**Labour and Price Statistics** + +Workforce Statistics and Price Indexes including the CPI + +* Labour Force – Contains estimates of the civilian labour force derived from the Labour Force Survey component of the Monthly Population Survey. +* Consumer Price Index (CPI) 16th Series – The Consumer Price Index (CPI) measures quarterly changes in the price of a ‘basket’ of goods and services which account for a high proportion of expenditure by the CPI population group (i.e. metropolitan households). +* Wage Price Index – Contains indexes measuring changes in the price of labour in the Australian labour market. +* Export Price Index – Presents indexes measuring changes in the prices of exports of merchandise that are shipped from Australia each quarter (the Export Price Index). +* Import Price Index – Presents indexes measuring changes in the prices of imports of merchandise that are shipped from Australia each quarter (the Import Price Index). +* Producer Price Index – Economy-wide indexes are presented within a Stage of Production (SOP) framework, followed by a set of partial, stand-alone measures relating to specific industry sectors of the economy (selected manufacturing, construction, mining and service industries). +* Residential Property Price Indexes – Provides estimates of changes in residential property prices in each of the eight capital cities of Australia and related statistics. + +**Industry Statistics** + +Primary, Secondary and Tertiary Industry Statistics + +* Building Approvals – The monthly Building Approvals (BAPS) collection collects data relating to residential and non-residential building work above certain value limits that have been approved within the reference month. +* Retail Trade – This publication presents estimates of the value of turnover of “retail trade” for Australian businesses classified by industry, and by state and territory. +* Tourist Accommodation – This publication presents data from the quarterly Survey of Tourist Accommodation (STA). The STA completely enumerates all in-scope accommodation establishments within Australia. +* Internet Activity – This release contains details of internet activity supplied by Internet Service Providers in Australia with more than 1,000 active subscribers. + +**Transport Statistics** + +Statistics about transport + +* Sales of New Motor Vehicles – This publication presents statistics on sales of new motor vehicles by vehicle type at the state/territory and national level. + +**Mining Statistics** + +Mining sector statistics + +* Mineral Exploration – Actual and expected expenditure by private organisations exploring for minerals. +* Petroleum Exploration – Actual and expected expenditure by private organisations exploring for petroleum. + diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/australian-statistical-geography-standard.md b/_datasets/2016/australia/australian-bureau-of-statistics/australian-statistical-geography-standard.md new file mode 100644 index 0000000..eadb986 --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/australian-statistical-geography-standard.md @@ -0,0 +1,26 @@ +--- +dataset_url: http://censusdata.abs.gov.au/arcgis/rest/services +excerpt_separator: +gid: australian-statistical-geography-standard +jurisdiction: australia +name: Australian Statistical Geography Standard +organisation: australian-bureau-of-statistics +title: Australia Statistical Geography Standard +mentors: + - +--- + +The ABS provides geospatial web services for the Australian Statistical Geography Standard (ASGS) regions. + + + +This includes the ABS Structures, areas defined by the ABS, and Non-ABS Structures, areas not designed by the ABS but approximated using areas from the ASGS Main Structure. + +You can find a complete listing of all available services in the [ABS Geospatial Web Services User Guide, 2015](http://www.abs.gov.au/ausstats/abs@.nsf/Lookup/1470.0main+features22015). Supporting documentation is available at the [ABS Geography](http://www.abs.gov.au/geography) page. + +__NOTE:__ _There is a known issue with the 2016 Commonwealth Electoral Divisions (CEDs) - due to time constraints, the associated codes are derived from the Australian Electoral Commission. They are not ASGS codes and therefore do not currently align with previous ASGS CED code. This issue will be resolved in an upcoming September release of the product._ + +It should be noted that areas in the ASGS (and other boundaries) help us group statistical data into understandable areas without compromising privacy and confidentiality. + +If you are looking for a way to show where people live (alongside the regions your data maps to), consider using the [Australian Population Grid, 2011](http://www.abs.gov.au/ausstats/abs@.nsf/Lookup/1270.0.55.007main+features12011), our finest level of detail on where Australians live and work. + diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/characteristics-of-temporary-skilled-migrants.md b/_datasets/2016/australia/australian-bureau-of-statistics/characteristics-of-temporary-skilled-migrants.md new file mode 100644 index 0000000..5ce499c --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/characteristics-of-temporary-skilled-migrants.md @@ -0,0 +1,64 @@ +--- +dataset_url: http://govhack.abs.gov.au/Index.aspx?DataSetCode=ABS_CTSM +excerpt_separator: +gid: characteristics-of-temporary-skilled-migrants +jurisdiction: australia +name: Characteristics of Temporary Skilled Migrants - GovHack Only Dataset +organisation: australian-bureau-of-statistics +title: Characteristics of Temporary Skilled Migrants - GovHack Only Dataset +mentors: + - +--- +__WARNING - GOVHACK QUALITY ONLY - NOT FOR PRODUCTION USE__ + +The Characteristics of Temporary Skilled Migrants test dataset is based on an experimental linked dataset. + + + +The test dataset mimics the structure of the real dataset (with the same data items and allowed values), however, all data in the test dataset is false, created through a randomisation process. Proportions of values within data items in the test dataset are similar to those in the real data, however, relationships between data items have not (intentionally) been maintained. + +__As such, the dataset should NOT be used for analytical, decision or policy making purposes.__ + +The purpose of this test dataset is to allow GovHack participants to develop applications and other proof of concept products, with the understanding that any output is not suitable for analytical purposes. + +The Characteristics of Temporary Skilled Migrants Test Dataset is based on an experimental linked dataset that combines information on the migration characteristics of temporary skilled migrants (those holding a subclass 457 visa) with demographic, geographic, employment and education information from the 2011 Census. This test dataset has undergone a process of statistical randomisation and as such, should not be used for analytical or decision making purposes. + +This dataset was created using information from the ABS Census of Population and Housing which was held on August 9, 2011, and the Department of Immigration and Border Protection's (DIBP) administrative data pertaining to temporary skilled migrants (visa subclass 457) in Australia on 31 July, 2011 (the closest available date to Census night). + +For metadata regarding the Census data items displayed in this dataset, see the [2011 Census Dictionary](http://www.abs.gov.au/ausstats/abs@.nsf/mf/2901.0). + +Data items available are State/Territory, Statistical Area Level 2, Age Group, Sex, Country of Birth, Industry, Occupation, Income and Highest Educational Attainment. + +--> [DOWNLOAD THE RAW DATA FILE HERE](http://portal.govhack.org/datasets/2016/australia/australian-bureau-of-statistics/CoTSM.zip) <-- + +**Data Explorers** + +* [Datacube explorer and API Query Building tools](http://govhack.abs.gov.au/Index.aspx?DataSetCode=ABS_CTSM) under GovHack + +**Explanatory Notes** + +* [2011 Census Dictionary](http://www.abs.gov.au/ausstats/abs@.nsf/mf/2901.0) + +**API Endpoints** + +* SOAP: [http://govhack.abs.gov.au/sdmxws/sdmx.asmx] +* ReST (XML): govhack.abs.gov.au/restsdmx/sdmx.ashx + +**Dataset Codes** + +* __ABS_COTSM__ + +**ReST Call pattern** + +``` +govhack.abs.gov.au/restsdmx/sdmx.ashx/[METHOD]/ABS_CTSM/[DIMENSIONS]/ABS(?startTime=YYYY&endTime=YYYY) +``` + +**Example call (ReST (XML) via CORS proxy** + +*Question* + +``` +http://cors.io/?u="http://govhack.abs.gov.au/restsdmx/sdmx.ashx/GetData/ABS_COTSM/[DIMS]/ABS?startTime=2014&endTime=2014" +``` +(Note the use of quotes so that the ```&endTime=2014``` isn't passed as part of the cors.io argument but as part of the target URI.) diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/experimental-industry-estimates.md b/_datasets/2016/australia/australian-bureau-of-statistics/experimental-industry-estimates.md new file mode 100644 index 0000000..585ca16 --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/experimental-industry-estimates.md @@ -0,0 +1,84 @@ +--- +dataset_url: http://govhack.abs.gov.au/Index.aspx?DataSetCode=ABS_EIE +excerpt_separator: +gid: experimental-industry-estimates +jurisdiction: australia +name: Experimental Industry Estimates by Geographic Area +organisation: australian-bureau-of-statistics +title: Experimental Industry Estimates by Geographic Area for 2004-05 to 2013-14 - Govhack +mentors: + - oliver-berry + - andrew-lalor + - melissa-eaton +--- + +An collaborative experimental dataset by the [ABS](http://portal.govhack.org/sponsors/australian-bureau-of-statistics.html) and the [Department of Industry, Innovation and Science (DIIS)](http://portal.govhack.org/sponsors/department-of-industry-innovation-and-science.html). + + + +It contains estimates of annual business turnover, value added and full time equivalent for the financial years 2004-05 to 2013-14, classified by industry (ANZSIC 2006 - Division and Subdivision) and geographic region (ASGS 2011 - SA2). + +__Please note that the purpose of this dataset is to allow GovHack participants to develop applications and other proof of concept products, with the understanding that any output is not suitable for analytical purposes. Due to the experimental nature and limitations of these data, the dataset should NOT be used for analytical, decision or policy making purposes.__ + +These estimates have been compiled using Business Activity Statement (BAS) and Pay As You Go (PAYG) data supplied to the ABS by the Australian Taxation Office. Industry data are based on the ABS's Business Register. Location data are based on the postcode of a business as reported to the ATO, which may represent the address of a Tax Agent, or, for businesses with multiple locations, the head office of that business. No attempt has been made to model business data for multiple locations, or to confirm actual location data. This may misrepresent the true location of a business. + +**Quality Statement - IMPORTANT!** + +Limited quality assurance has been undertaken on these estimates. Some data have been suppressed to maintain statutory confidentiality requirements, others have been suppressed where estimates are likely to misrepresent true values. + +Location data are based on the postcode of a business as reported to the ATO, which may represent the address of a Tax Agent, or, for businesses with multiple locations, the head office of that business. No attempt has been made to model business data for multiple locations, or to confirm actual location data. This may misrepresent the true location of a business. + +Further, postcode data have been concorded to SA2s where possible. Where a postcode maps to multiple SA2s, data have been distributed based on population estimates. This methodology has NOT been endorsed or adopted by the ABS and should NOT be treated as a reliable indicator of business location. + +These estimates have been compiled using Business Activity Statement (BAS) and Pay As You Go (PAYG) data supplied to the ABS by the ATO. + +Complex business structures where a Type of activity unit (TAU) is created for business entities within an enterprise group may not be accurately represented in this data. Some TAUs have multiple ABNs and at the individual ABN level, the ANZSIC classes may be different to the TAU. This is not accounted for in these data. Please note that the ANZSIC classes in the BAS and PAYG data are based on self coding. The estimates should therefore be treated as experimental. + +In some cases, BAS data may be partially missing for an individual business (for example, data may be available for three out of four quarters). In other instances BAS data may be complete but PAYG data are missing (and vice versa). No imputation is applied for missing data. + +Users should take into consideration that any discussion of the data limitations or weaknesses is in the context of using the data for statistical purposes, and is not related to the ability of the data to support the ATO's core operational requirements. + +Refer to the [ATO website](http://www.ato.gov.au) for more information about BAS and PAYG reporting requirements. + +Limited quality assurance has been undertaken on these estimates. Some data have been suppressed to maintain statutory confidentiality requirements, others have been suppressed where estimates are likely to misrepresent true values. + +The purpose of this dataset is to allow GovHack participants to develop applications and other proof of concept products, with the understanding that any output is not suitable for analytical purposes + +**Related or Complimentary Datasets** + +* [SA3 Region Innovation Data 2009-15](../australia/department-of-industry-innovation-and-science/sa3-region-innovation-data-2009-15.html) +* [Characteristics of Temporary Skilled Migrants](../characteristics-of-temporary-skilled-migrants.html) + +Please contact the data mentors for further inquiries. + +**Data Explorers** + +* [Datacube explorer and API Query Building tools](http://govhack.abs.gov.au/Index.aspx?DataSetCode=ABS_EIE) + +**Explanatory Notes** + +* TBC + +**API Endpoints** + +* SOAP: [http://govhack.abs.gov.au/sdmxws/sdmx.asmx] +* ReST (XML): govhack.abs.gov.au/restsdmx/sdmx.ashx + +**Dataset Code** + +* __ABS_EIE_SA2__ + +**ReST Call pattern** + +``` +govhack.abs.gov.au/restsdmx/sdmx.ashx/[METHOD]/ABS_EIE/[DIMENSIONS]/ABS(?startTime=YYYY&endTime=YYYY) +``` + +**Example call (ReST (XML) via CORS proxy** + +*Question* + +``` +http://cors.io/?u="http://govhack.abs.gov.au/restsdmx/sdmx.ashx/GetData/ABS_EIE/DIMENSIONS/ABS?startTime=2014&endTime=2014" +``` +(Note the use of quotes so that the ```&endTime=2014``` isn't passed as part of the cors.io argument but as part of the target URI.) diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/national-regional-profile.md b/_datasets/2016/australia/australian-bureau-of-statistics/national-regional-profile.md new file mode 100644 index 0000000..21c866c --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/national-regional-profile.md @@ -0,0 +1,53 @@ +--- +dataset_url: http://www.abs.gov.au/ausstats/abs@.nsf/mf/1379.0.55.001 +excerpt_separator: +gid: national-regional-profile +jurisdiction: australia +name: National Regional Profile 2010-14 +organisation: australian-bureau-of-statistics +title: The National Regional Profile 2010-14 +mentors: + - +--- +The National Regional Profile (NRP) provides insight into the socio-economic and environmental characteristics of regions. Data are arranged under the broad themes of Economy, Industry, People, and Energy and Environment. + + + +The NRP presents data for 2010-14 for Local Government Areas, Australian Statistical Geography Standard regions (Statistical Areas 2, 3 and 4, and Greater Capital City Statistical Areas), States/Territories and Australia. + +**Data Explorers** + +* [Geospatial Visualisation](http://abs.gov.au/databyregion) +* [Datacube explorer and API Query Building tools](http://govhack.abs.gov.au) under General Statistics -> Regional + +**Explanatory Notes** + +* [Data Items A-Z](http://www.abs.gov.au/AUSSTATS/abs@.nsf/Lookup/1379.0.55.001Explanatory%20Notes12010-14?OpenDocument) +* [Explanatory Notes](http://www.abs.gov.au/AUSSTATS/abs@.nsf/Latestproducts/1379.0.55.001Explanatory%20Notes22010-14?opendocument&tabname=Notes&prodno=1379.0.55.001&issue=2010-14&num=&view=) +* [Glossary](http://www.abs.gov.au/AUSSTATS/abs@.nsf/Latestproducts/1379.0.55.001Glossary12010-14?opendocument&tabname=Notes&prodno=1379.0.55.001&issue=2010-14&num=&view=) + +**API Endpoints** + +* SOAP: [http://govhack.abs.gov.au/sdmxws/sdmx.asmx] +* ReST (XML): govhack.abs.gov.au/restsdmx/sdmx.ashx + +**Dataset Codes** + +* __ABS_REGIONAL_ASGS__ - by Australian Statistical Geography Standard regions (SA2 and above) + +* __ABS_REGIONAL_LGA__ - by Local Government Area (2010-14), States/Territories and Australia) + +**ReST Call pattern** + +``` +govhack.abs.gov.au/restsdmx/sdmx.ashx/[METHOD]/ABS_REGIONAL_ASGS/[DIMENSIONS]/ABS(?startTime=YYYY&endTime=YYYY) +``` + +**Example call (ReST (XML) via CORS proxy** + +*What was the total value (in $AU millions) of construction for the City of Newcastle in 2014?* + +``` +http://govhack.io/?u="http://stat.abs.gov.au/restsdmx/sdmx.ashx/GetData/ABS_REGIONAL_LGA/BUILDING_10.LGA2014.15900.A/ABS?startTime=2014&endTime=2014" +``` +(Note the use of quotes so that the ```&endTime=2014``` isn't passed as part of the cors.io argument but as part of the target URI.) diff --git a/_datasets/2016/australia/australian-bureau-of-statistics/other-data-of-interest.md b/_datasets/2016/australia/australian-bureau-of-statistics/other-data-of-interest.md new file mode 100644 index 0000000..e999345 --- /dev/null +++ b/_datasets/2016/australia/australian-bureau-of-statistics/other-data-of-interest.md @@ -0,0 +1,16 @@ +[Labour Force, Australia, Detailed, Quarterly](http://www.abs.gov.au/AUSSTATS/abs@.nsf/Lookup/6291.0.55.003Main+Features1May%202016?OpenDocument) + +RQ1 - Employed persons by Industry division of main job (ANZSIC), Labour market region (ASGS) and Sex, Annual averages of the preceding four quarters, Year to August 1999 onwards Download SuperTABLE File (7986 kB) +RQ2 - Employed persons by Labour market region (ASGS), Occupation major group (ANZSCO) and Sex, Annual averages of the preceding four quarters, Year to August 1999 onwards + +[Labour Force, Australia, Detailed](http://www.abs.gov.au/AUSSTATS/abs@.nsf/Lookup/6291.0.55.001Main+Features1May%202016?OpenDocument) + +Table 16. Labour force status by Labour market region (ASGS) and Sex + +RM1 - Labour force status by Age, Labour market region (ASGS) and Sex, October 1998 onwards View additional information +RM3 - Unemployed persons by Duration of job search and Labour market region (ASGS), July 1991 onwards + +[Counts of Australian Businesses, including Entries and Exits](http://www.abs.gov.au/ausstats/abs@.nsf/mf/8165.0) + +Businesses by Industry Division by Statistical Area Level 2 by Employment Size Ranges, June 2013, June 2014 & June 2015 +Businesses by Industry Division by Statistical Area Level 2 by Turnover Size Ranges, June 2013, June 2014 & June 2015 diff --git a/_datasets/2016/australia/australian-business-register/abn-lookup-webservices.md b/_datasets/2016/australia/australian-business-register/abn-lookup-webservices.md new file mode 100644 index 0000000..5763668 --- /dev/null +++ b/_datasets/2016/australia/australian-business-register/abn-lookup-webservices.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/abn-lookup-web-services +excerpt_separator: +gid: abn-lookup-webservices +jurisdiction: australia +name: ABN Lookup Webservices +organisation: australian-business-register +title: ABN Lookup Webservices +--- + +The ABN Lookup web services allow you to integrate ABN Lookup validation and data into your own applications. + + + +Access to the ABN Lookup web services is free of charge. + +The ABN data available through the ABN Lookup web services is updated hourly from the Australian Business Register (ABR). Register for access to the ABN Lookup web services from http://abr.business.gov.au/Webservices.aspx \ No newline at end of file diff --git a/_datasets/2016/australia/australian-business-register/australian-business-register.md b/_datasets/2016/australia/australian-business-register/australian-business-register.md new file mode 100644 index 0000000..73efa2e --- /dev/null +++ b/_datasets/2016/australia/australian-business-register/australian-business-register.md @@ -0,0 +1,31 @@ +--- +dataset_url: 'https://data.gov.au/dataset/abn-bulk-extract' +excerpt_separator: +gid: australian-business-register +jurisdiction: australia +name: Australian Business Register +organisation: australian-business-register +title: Australian Business Register +mentors: + - jenny-coppock + - jared-cane + - andrew-mcdermott + - theresa-macgregor +--- + +ABN Lookup Bulk Data - Australian Business Register. + + + +The extract information contains a subset of the publicly available information supplied by businesses when they register for an Australian Business Number (ABN). Current details for the following attributes are available: + +* ABN +* ABN Status and Date +* Entity Type +* Legal Name +* Business Name(s) +* Trading Name(s) +* State and Postcode of Main Business Location +* ACN/ARBN +* GST Status and Registration Date +* Deductible Gift Recipient Status and Dates \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/ages-of-insolvent-debtors.md b/_datasets/2016/australia/australian-financial-security-authority/ages-of-insolvent-debtors.md new file mode 100644 index 0000000..4d286f1 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/ages-of-insolvent-debtors.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/ages-of-insolvent-debtors +excerpt_separator: +gid: ages-of-insolvent-debtors +jurisdiction: australia +name: Ages of insolvent debtors +organisation: australian-financial-security-authority +title: Ages of insolvent debtors +mentors: + - ed-noveras +--- + +AFSA publish statistics on the age of insolvent debtors at the time of their insolvency. Debtors supply their date of birth on the statement of affairs. AFSA calculate the age of debtors using date of birth from the statement of affairs and the date that their personal insolvency commenced. + + + +Please refer to https://www.afsa.gov.au/resources/statistics/socio-economic-statistics/ages/guide-to-ages-of-insolvent-debtors for more information about the data. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/business-and-non-business-related-personal-insolvency-statistics.md b/_datasets/2016/australia/australian-financial-security-authority/business-and-non-business-related-personal-insolvency-statistics.md new file mode 100644 index 0000000..cdfed42 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/business-and-non-business-related-personal-insolvency-statistics.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://data.gov.au/dataset/business-non-business-personal-insolvency-statistics +excerpt_separator: +gid: business-and-non-business-related-personal-insolvency-statistics +jurisdiction: australia +name: Business and non-business related personal insolvency statistics +organisation: australian-financial-security-authority +title: Business and non-business related personal insolvency statistics +mentors: + - ed-noveras +--- + +AFSA publish a breakdown of business and non-business personal insolvency statistics quarterly for bankrupts, debt agreement debtors and personal insolvency agreement debtors. The time series started in March 2003 + + + +A business related personal insolvency occurs where an individual’s bankruptcy, debt agreement or personal insolvency agreement is directly related to his or her proprietary interest in a business. + +The business and non-business personal insolvency statistics may be affected by differences in debtors’ interpretations of what constitutes a business and whether a proprietary interest in a business was the primary cause of insolvency. + +For more information on the data, please see https://www.afsa.gov.au/resources/statistics/provisional-business-and-non-business-personal-insolvency-statistics/guide-to-business-and-non-business-personal-insolvency-activity-statistics \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/causes-of-personal-insolvency.md b/_datasets/2016/australia/australian-financial-security-authority/causes-of-personal-insolvency.md new file mode 100644 index 0000000..970a4a3 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/causes-of-personal-insolvency.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/causes-of-personal-insolvency +excerpt_separator: +gid: causes-of-personal-insolvency +jurisdiction: australia +name: Causes of personal insolvency +organisation: australian-financial-security-authority +title: Causes of personal insolvency +mentors: + - ed-noveras +--- + +AFSA collect information about the reason persons become insolvent based on data from the statement of affairs. The statement of affairs requires the debtor to select a single cause of insolvency from a given list. The causes of insolvency are debtors’ opinions of what best describes the main reason for becoming insolvent. + + + +For more information about the data, please visit https://www.afsa.gov.au/resources/statistics/socio-economic-statistics/causes-1/guide-to-causes-of-personal-insolvency \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/gender-of-insolvent-debtors.md b/_datasets/2016/australia/australian-financial-security-authority/gender-of-insolvent-debtors.md new file mode 100644 index 0000000..139dfad --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/gender-of-insolvent-debtors.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/gender-of-debtors +excerpt_separator: +gid: gender-of-insolvent-debtors +jurisdiction: australia +name: Gender of insolvent debtors +organisation: australian-financial-security-authority +title: Gender of insolvent debtors +mentors: + - ed-noveras +--- + +Gender of insolvent debtors is an annual publication. AFSA use the data on gender provided by debtors on the Statement of Affairs. + + + +More information about the data is available from http://www.afsa.gov.au/resources/statistics/socio-economic-statistics/gender/guide-to-gender-of-insolvent-debtors. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/industry-breakdown-of-ppsr-registrations.md b/_datasets/2016/australia/australian-financial-security-authority/industry-breakdown-of-ppsr-registrations.md new file mode 100644 index 0000000..51402f4 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/industry-breakdown-of-ppsr-registrations.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://data.gov.au/dataset/ppsr-bounty +excerpt_separator: +gid: industry-breakdown-of-ppsr-registrations +jurisdiction: australia +name: Industry breakdown of PPSR registrations +organisation: australian-financial-security-authority +title: Industry breakdown of PPSR registrations +mentors: + - ed-noveras +--- + +This dataset was specially created by AFSA for GovHack 2016. It contains the number of new registrations on the PPSR by ANZSIC industry division and subdivision. + + + +AFSA sourced the Industry information from the Australian Business Register (ABR). To do this, AFSA used the Australian Company Number (ACN) to match records. To protect privacy, AFSA assigned each ACN a random number instead of showing the actual ACN. + +This data is a subset of overall PPSR registrations created. It solely includes registrations created by organisational secured parties that have registered on the PPSR with an ACN. + +Please refer to that guide for more information. For further inquiries, please email statistics@afsa.gov.au. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/occupations-of-debtors.md b/_datasets/2016/australia/australian-financial-security-authority/occupations-of-debtors.md new file mode 100644 index 0000000..5c44ce6 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/occupations-of-debtors.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/occupations-of-debtors +excerpt_separator: +gid: occupations-of-debtors +jurisdiction: australia +name: Occupations of debtors +organisation: australian-financial-security-authority +title: Occupations of debtors +mentors: + - ed-noveras +--- + +AFSA asked insolvent debtors to nominate their usual trade or profession. The responses are classified using the Australian and New Zealand Standard Classification of Occupations (ANZSCO). + + + +For more information about the data, please visit https://www.afsa.gov.au/resources/statistics/socio-economic-statistics/occupations/guide-to-occupations-of-debtors \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-by-postcode.md b/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-by-postcode.md new file mode 100644 index 0000000..09a135a --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-by-postcode.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/personal-insolvency-postcode +excerpt_separator: +gid: personal-insolvency-by-postcode +jurisdiction: australia +name: Personal insolvency by postcode +organisation: australian-financial-security-authority +title: Personal insolvency by postcode +mentors: + - ed-noveras +--- + +AFSA publish the number of bankrupts, debt agreement debtors and personal insolvency agreement debtors by postcode. The time series starts in 2010–11. Any cell with a value containing one or two have been suppressed to protect the privacy and confidentiality of bankrupts and debtors. Suppressed cells are marked ‘np’. + + + +For more information about the data, see http://www.afsa.gov.au/resources/statistics/personal-insolvency-activity-by-postcode-1/guide-to-personal-insolvency-activity-by-postcode. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-statistics.md b/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-statistics.md new file mode 100644 index 0000000..1206f43 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/personal-insolvency-statistics.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.gov.au/dataset/insolvency-statistics +excerpt_separator: +gid: personal-insolvency-statistics +jurisdiction: australia +name: Personal insolvency statistics +organisation: australian-financial-security-authority +title: Personal insolvency statistics +mentors: + - ed-noveras +--- + +AFSA publish provisional quarterly and annual personal insolvency statistics on bankruptcies, debt agreements and personal insolvency agreements for all states and territories. + + + +Bankruptcy is a process where people, who cannot pay their debts, become bankrupt to receive the protection of the Bankruptcy Act 1966 and their estate is administered by a trustee. It allows for the fair distribution of property among creditors and the prosecution of dishonest debtors. + +Debt agreement is an arrangement between a person who cannot pay their debts and their creditors. It is a formal arrangement under Part IX of the Bankruptcy Act. A debt agreement results from creditors voting to accept a proposal from a debtor to settle their debts. To be eligible to propose a debt agreement, a debtor must be insolvent and meet threshold levels relating to unsecured debts and assets and after-tax income. + +Personal insolvency agreement (PIA): under Part X of the Bankruptcy Act, a personal insolvency agreement results from creditors accepting a debtor’s proposal to settle his or her debts. Unlike debt agreements, personal insolvency agreements are not subject to income, asset or debt thresholds. + +Please see our guide to learn more about the provisional personal insolvency statistics (https://www.afsa.gov.au/resources/statistics/provisional-bankruptcy-and-personal-insolvency-statistics/guide-to-provisional-personal-insolvency-activity-statistics). \ No newline at end of file diff --git a/_datasets/2016/australia/australian-financial-security-authority/regional-statistics.md b/_datasets/2016/australia/australian-financial-security-authority/regional-statistics.md new file mode 100644 index 0000000..1a9b258 --- /dev/null +++ b/_datasets/2016/australia/australian-financial-security-authority/regional-statistics.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.gov.au/dataset/quarterly-regional-statistics +excerpt_separator: +gid: regional-statistics +jurisdiction: australia +name: Regional statistics +organisation: australian-financial-security-authority +title: Regional statistics +mentors: + - ed-noveras +--- + +AFSA publish State, Greater Capital Cities Statistical Area (GCCSA) and Statistical Area Level 3 (SA3) breakdown of the number of debtors with business and non-business related personal insolvencies on a quarterly basis, using the Australian Bureau of Statistics (ABS) Australian Statistical Geography Standard (ASGS): Correspondences, July 2011, cat. no. 1270.0.55.006. + + + +This dataset contains the most recent data only. Time series data going back to the December quarter 2013 will be released soon. + +AFSA do not publish data with small numbers of individuals. Whenever necessary to suppress data, cells are marked ‘data not available’. Generally, AFSA publish data with three or more debtors. + +Addresses that are not in the ASGS are reported as 'Other (not in ASGS)' for each state and territory. This includes debtors who: a) have no fixed address, b) have not lodged a statement of affairs, or c) reported an overseas address. + +Please see https://www.afsa.gov.au/resources/statistics/regional-statistics/guide-to-quarterly-regional-statistics to learn more about these statistics. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-cancer-incidence-and-mortality.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-cancer-incidence-and-mortality.md new file mode 100644 index 0000000..31573e8 --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-cancer-incidence-and-mortality.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/australian-cancer-incidence-and-mortality +excerpt_separator: +gid: australian-cancer-incidence-and-mortality +jurisdiction: australia +name: Australian Cancer Incidence and Mortality +organisation: australian-institute-of-health-and-welfare +title: Australian Cancer Incidence and Mortality +--- + +Extracted in machine readable form from the AIHW Australian Cancer Incidence and Mortality books + + + +These files contain summary statistics by age, year and sex for major cancers. + +Users are advised to read the Data Quality Statement for the 2010 version of the ACD. In particular, please note that the 2010 data contained in the ACIM books include estimates for NSW and ACT because the real data are not yet available. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-hospital-statistics-2012-13.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-hospital-statistics-2012-13.md new file mode 100644 index 0000000..6d673fd --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/australian-hospital-statistics-2012-13.md @@ -0,0 +1,15 @@ +--- +dataset_url: https://data.gov.au/dataset/australian-hospital-statistics-2012-13 +excerpt_separator: +gid: australian-hospital-statistics-2012-13 +jurisdiction: australia +name: Australian hospital statistics 2012-13 +organisation: australian-institute-of-health-and-welfare +title: Australian hospital statistics 2012-13 +--- + +Publication Australian hospital statistics 2012-13 can be found on the AIHW Website. + + + +Australian hospital statistics 2012-13 presents a detailed overview of Australia's public and private hospitals. In 2012-13, there were about 9.4 million separations from hospitals, including: 5.2 million same-day acute separations; 3.7 million overnight acute separations; about 450,000 sub-acute and non-acute separations. There were also 7.9 million non-admitted patient emergency services and more than 46 million outpatient services provided by public hospitals. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/general-record-of-incidence-of-mortality-(grim)-books.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/general-record-of-incidence-of-mortality-(grim)-books.md new file mode 100644 index 0000000..3bdffb7 --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/general-record-of-incidence-of-mortality-(grim)-books.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://data.gov.au/dataset/grim-books +excerpt_separator: +gid: general-record-of-incidence-of-mortality-(grim)-books +jurisdiction: australia +name: General Record of Incidence of Mortality (GRIM) books +organisation: australian-institute-of-health-and-welfare +title: General Record of Incidence of Mortality (GRIM) books +--- + +Extracted in machine readable form from the AIHW General Record of Incidence of Mortality (GRIM) books. + + + +GRIM books house national level, historical and recent deaths data for specific causes of death. The tables present age- and sex-specific counts and rates of deaths, and age-standardised death rates, for all causes and for International Statistical Classification of Diseases and Related Health Problems, 10th revision (ICD-10) chapters. + +GRIM books refer to different years for different causes of death, depending on the data availability, with some GRIM books going back to 1907. They are the only national level electronic source of readily available deaths data for deaths registered prior to 1964. Data from 1964 onwards are sourced from the AIHW National Mortality Database. + +For more information, please see Deaths data at AIHW. + +Also available on data.gov.au are the AIHW Mortality Over Regions and Time (MORT) books. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/health-expenditure-in-australia.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/health-expenditure-in-australia.md new file mode 100644 index 0000000..46bcca6 --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/health-expenditure-in-australia.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://data.gov.au/dataset/health-expenditure-in-australia +excerpt_separator: +gid: health-expenditure-in-australia +jurisdiction: australia +name: Health expenditure in Australia +organisation: australian-institute-of-health-and-welfare +title: Health expenditure in Australia +--- + +Health expenditure occurs where money is spent on health goods and services. It occurs at different levels of government, as well as by non-government entities such as private health insurers and individuals. + + + +In many cases, funds pass through a number of different entities before they are ultimately spent by providers (such as hospitals, general practices and pharmacies) on health goods and services. + +The term 'health expenditure' in this context relates to all funds given to, or for, providers of health goods and services. It includes the funds provided by the Australian Government to the state and territory governments, as well as the funds provided by the state and territory governments to providers. + +For more information please see AIHW's most recent publication on health expenditure. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/intercountry-adoptions-in-australia.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/intercountry-adoptions-in-australia.md new file mode 100644 index 0000000..02177eb --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/intercountry-adoptions-in-australia.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.gov.au/dataset/intercountry-adoptions-in-australia +excerpt_separator: +gid: intercountry-adoptions-in-australia +jurisdiction: australia +name: Intercountry Adoptions in Australia +organisation: australian-institute-of-health-and-welfare +title: Intercountry Adoptions in Australia +--- + +Underpinning research conducted by AIHW, this dataset contains comprehensive information on intercountry adoptions in Australia, including the characteristics of adopted children and adoptive families. It also reports on the processing times for intercountry adoption. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/mortality-over-regions-and-time-(mort)-books.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/mortality-over-regions-and-time-(mort)-books.md new file mode 100644 index 0000000..28174cb --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/mortality-over-regions-and-time-(mort)-books.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://data.gov.au/dataset/mort-books +excerpt_separator: +gid: mortality-over-regions-and-time-(mort)-books +jurisdiction: australia +name: Mortality Over Regions and Time (MORT) books +organisation: australian-institute-of-health-and-welfare +title: Mortality Over Regions and Time (MORT) books +--- + +Extracted in machine readable form from the AIHW Mortality Over Regions and Time (MORT) books. + + + +MORT books are Excel workbooks that house recent deaths data for specific geographic areas in a readily accessible and easy to use format. The workbooks present summary deaths statistics by sex for each geographic area, including counts, rates, median age at death, premature deaths, potential years of life lost and potentially avoidable deaths. The workbooks also present leading causes of death by sex for each geographic area. + +Most MORT books present data for the last 5 years. Due to changes in geographic classifications over time, long-term trends are not available. Data are sourced from the AIHW National Mortality Database (NMD). + +For more information, please see Deaths data at AIHW. + +Also available on data.gov.au are the AIHW General Record of Incidence of Mortality (GRIM) books. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/national-drugs-strategy-household-survey.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/national-drugs-strategy-household-survey.md new file mode 100644 index 0000000..37351e6 --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/national-drugs-strategy-household-survey.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.gov.au/dataset/national-drugs-strategy-household-survey +excerpt_separator: +gid: national-drugs-strategy-household-survey +jurisdiction: australia +name: National Drugs Strategy Household Survey +organisation: australian-institute-of-health-and-welfare +title: National Drugs Strategy Household Survey +--- + +The National Drug Strategy Household Survey (NDSHS) is a national survey providing cross sectional data on alcohol and other drug use in Australia. The survey also provides estimates of licit and illicit drug use. The survey also measures community attitudes to drug use, and awareness of and community support for various drug-related policies. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-institute-of-health-and-welfare/youth-justice-detention-data.md b/_datasets/2016/australia/australian-institute-of-health-and-welfare/youth-justice-detention-data.md new file mode 100644 index 0000000..22ff59b --- /dev/null +++ b/_datasets/2016/australia/australian-institute-of-health-and-welfare/youth-justice-detention-data.md @@ -0,0 +1,15 @@ +--- +dataset_url: https://data.gov.au/dataset/youth-justice-detention-data +excerpt_separator: +gid: youth-justice-detention-data +jurisdiction: australia +name: Youth Justice Detention Data +organisation: australian-institute-of-health-and-welfare +title: Youth Justice Detention Data +--- + +Publication Youth detention population in Australia can be found on the AIHW Website. + + + +This report presents information on the youth detention population in Australia, focusing on quarterly trends. \ No newline at end of file diff --git a/_datasets/2016/australia/australian-taxation-office/taxation-statistics-aggregated-individual-sample-files.md b/_datasets/2016/australia/australian-taxation-office/taxation-statistics-aggregated-individual-sample-files.md new file mode 100644 index 0000000..42931f1 --- /dev/null +++ b/_datasets/2016/australia/australian-taxation-office/taxation-statistics-aggregated-individual-sample-files.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://data.gov.au/dataset/govhack2016 +excerpt_separator: +gid: taxation-statistics-aggregated-individual-sample-files +jurisdiction: australia +name: Taxation statistics - Aggregated individual tax return sample files +organisation: australian-taxation-office +title: Taxation statistics - Aggregated individual tax return sample files +mentors: + - anthony-nolan +--- + +The de-identified data from the 2013-14 individual 2% sample file (https://data.gov.au/dataset/taxation-statistics-individual-sample-files) has been aggregated to the following levels: Sex Age (5 year ranges) Occupation (1 digit level) Partner Status Location (SA4 Region name) Lodgment channel (Agent or self-preparer) PHI indicator. + + + +Data was then added from the ABS Census (2011), and ABS SEIFA, in summary variables, or ranked variables to SA4 regions. + +This dataset has been created in preparation for GovHack 2016. + + \ No newline at end of file diff --git a/_datasets/2016/australia/australian-taxation-office/taxation-statistics-individual-sample-files.md b/_datasets/2016/australia/australian-taxation-office/taxation-statistics-individual-sample-files.md new file mode 100644 index 0000000..2f38c03 --- /dev/null +++ b/_datasets/2016/australia/australian-taxation-office/taxation-statistics-individual-sample-files.md @@ -0,0 +1,15 @@ +--- +dataset_url: https://data.gov.au/dataset/taxation-statistics-individual-sample-files +excerpt_separator: +gid: taxation-statistics-individual-sample-files +jurisdiction: australia +name: Taxation statistics - Individual tax return sample files +organisation: australian-taxation-office +title: Taxation statistics - Individual tax return sample files +mentors: + - anthony-nolan +--- + +A series of sample files of individual tax return information for more advanced users. These files are confidentialised in order to protect the identities of taxpayers. The files contain a 1% sample of records for 2010-11 and earlier income years, and a 2% sample of records for the 2011-12 income year onwards. + + \ No newline at end of file diff --git a/_datasets/2016/australia/bureau-of-meteorology/australian-hydrological-geospatial-fabric-(geofabric).md b/_datasets/2016/australia/bureau-of-meteorology/australian-hydrological-geospatial-fabric-(geofabric).md new file mode 100644 index 0000000..aac0ad9 --- /dev/null +++ b/_datasets/2016/australia/bureau-of-meteorology/australian-hydrological-geospatial-fabric-(geofabric).md @@ -0,0 +1,28 @@ +--- +dataset_url: https://www.data.gov.au/dataset/australian-hydrological-geospatial-fabric-geofabric +excerpt_separator: +gid: australian-hydrological-geospatial-fabric-(geofabric) +jurisdiction: australia +name: Australian Hydrological Geospatial Fabric (Geofabric) +organisation: bureau-of-meteorology +title: Australian Hydrological Geospatial Fabric (Geofabric) +--- + +The Australian Hydrological Geospatial Fabric (Geofabric) is a specialised Geographic Information System (GIS). It identifies the spatial relationships of important hydrological features such as rivers, lakes, reservoirs, dams, canals and catchments. + + + +By detailing the spatial dimensions of these features, models can be developed to show how water is stored, transported and used through the landscape. + +In Geofabric V2.1.1 there are 6 products available: + +* Hydrology Cartography +* Hydrology Network +* Hydrology Catchments +* Hydrology Reporting Catchments +* Hydrology Reporting Regions +* Groundwater Hydrolog + +**[GIS]:** Geographic Information System + +**[Geofabric]:** Australian Hydrological Geospatial Fabric \ No newline at end of file diff --git a/_datasets/2016/australia/bureau-of-meteorology/historical-rainfall-and-temperature-forecast-and-observations-hourly-data---weather-forecasting-verification-data-(2015-05-to-2016-04).md b/_datasets/2016/australia/bureau-of-meteorology/historical-rainfall-and-temperature-forecast-and-observations-hourly-data---weather-forecasting-verification-data-(2015-05-to-2016-04).md new file mode 100644 index 0000000..bd8820a --- /dev/null +++ b/_datasets/2016/australia/bureau-of-meteorology/historical-rainfall-and-temperature-forecast-and-observations-hourly-data---weather-forecasting-verification-data-(2015-05-to-2016-04).md @@ -0,0 +1,18 @@ +--- +dataset_url: https://data.gov.au/dataset/weather-forecasting-verification-data-2015-05-to-2016-04 +excerpt_separator: +gid: historical-rainfall-and-temperature-forecast-and-observations-hourly-data---weather-forecasting-verification-data-(2015-05-to-2016-04) +jurisdiction: australia +name: Historical rainfall and temperature forecast and observations hourly data +organisation: bureau-of-meteorology +title: Historical rainfall and temperature forecast and observations hourly data +mentors: + - tennessee-leeuwenburg + - maoyuan-liu +--- + +Historical rainfall and temperature forecast and observations hourly data (2015-05 to 2016-04), used to compare and verify forecasting. Observations data is from a sample of 518 AWS stations over land, and is at the surface level. Data has been aggregated from one-minute readings into hourly values, for forecast comparison purposes. This observations data is partly QC'd. + + + +Forecasted weather elements include temperature, maximum and minimum temperature, rainfall probabilities and rainfall amounts. Different forecast products have different time resolutions, e.g. temperature forecasts are made for each hour, while maximum and minimum temperature forecasts are made for each day. \ No newline at end of file diff --git a/_datasets/2016/australia/bureau-of-meteorology/national-groundwater-information-system.md b/_datasets/2016/australia/bureau-of-meteorology/national-groundwater-information-system.md new file mode 100644 index 0000000..ab856e6 --- /dev/null +++ b/_datasets/2016/australia/bureau-of-meteorology/national-groundwater-information-system.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://www.data.gov.au/dataset/national-groundwater-information-system +excerpt_separator: +gid: national-groundwater-information-system +jurisdiction: australia +name: National Groundwater Information System +organisation: bureau-of-meteorology +title: National Groundwater Information System +--- + +The National Groundwater Information System (NGIS) is a spatial database for GIS specialists that contains a range of groundwater information submitted by States and Territories. The System contains more than 800 000 bore locations with associated lithology logs, bore construction logs and hydrostratigraphy logs. 2D and 3D aquifer geometries are also available for some areas. + + + +Bores and bore log information from the System can be accessed and visualised using the Australian Groundwater Explorer, without using desktop GIS software. The Explorer also includes data not contained in the National Groundwater Information System, such as groundwater level time-series data. Landscape characteristic spatial layers, such as groundwater management areas and river regions can also be displayed to provide context to the groundwater data. + +Hydrogeologic units within the System have been standardised for national consistency using the National Aquifer Framework. Version 1.1 uses the NGIS Version 2.3 data model, which was released in March 2013. \ No newline at end of file diff --git a/_datasets/2016/australia/bureau-of-meteorology/water-data-online.md b/_datasets/2016/australia/bureau-of-meteorology/water-data-online.md new file mode 100644 index 0000000..f04e7cd --- /dev/null +++ b/_datasets/2016/australia/bureau-of-meteorology/water-data-online.md @@ -0,0 +1,21 @@ +--- +dataset_url: https://www.data.gov.au/dataset/water-data-online +excerpt_separator: +gid: water-data-online +jurisdiction: australia +name: Water Data Online +organisation: bureau-of-meteorology +title: Water Data Online +--- + +Water Data Online provides free access to nationally consistent, current and historical water information. It allows you to view and download standardised data and reports. + + + +Watercourse level and watercourse discharge time series data from approximately 3500 water monitoring stations across Australia are available. + +Water Data Online displays time series data supplied by lead water agencies from each State and Territory with updates provided to the Bureau on a daily basis. + +Over time, more stations and parameters will become available and linkages to Water Data Online from the Geofabric will be implemented. + +Before using data please refer to licence preferences of the supplying organisations under the Copyright tab \ No newline at end of file diff --git a/_datasets/2016/australia/data61/govhack-science.md b/_datasets/2016/australia/data61/govhack-science.md new file mode 100644 index 0000000..2731cdb --- /dev/null +++ b/_datasets/2016/australia/data61/govhack-science.md @@ -0,0 +1,11 @@ +--- +dataset_url: http://govhack-science.github.io/ +excerpt_separator: +gid: govahack-science +jurisdiction: australia +name: GovHack Science +organisation: data-61 +title: GovHack Science +--- + +Data61 & CSIRO's very own GovHack Science data site! \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-education-and-training/higher-education-attrition-rates-2005-2013.md b/_datasets/2016/australia/department-of-education-and-training/higher-education-attrition-rates-2005-2013.md new file mode 100644 index 0000000..ffc4eaf --- /dev/null +++ b/_datasets/2016/australia/department-of-education-and-training/higher-education-attrition-rates-2005-2013.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.gov.au/dataset/higher-education-attrition-rates-2005-2013 +excerpt_separator: +gid: higher-education-attrition-rates-2005-2013 +jurisdiction: australia +name: Higher Education Attrition Rates 2005-2013 +organisation: department-of-education-and-training +title: Higher Education Attrition Rates 2005-2013 +--- + +Higher education attrition (dropout) rate data for commencing domestic bachelor students at Table A (public) universities. Attrition rates are provided for a number of student characteristics and by geographical area (Statistical Level 3 and Local Government Areas). \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-education-and-training/vocational-education-training-data.md b/_datasets/2016/australia/department-of-education-and-training/vocational-education-training-data.md new file mode 100644 index 0000000..9083b37 --- /dev/null +++ b/_datasets/2016/australia/department-of-education-and-training/vocational-education-training-data.md @@ -0,0 +1,30 @@ +--- +dataset_url: https://data.sa.gov.au/data/dataset/aus-vocational-education-and-training-vet-statistics +excerpt_separator: +gid: vocational-education-training-data +jurisdiction: australia +name: Vocational Educational and Training (VET) data +organisation: department-of-education-and-training +title: Vocational Educational and Training (VET) data 2002-2015 +mentors: + - sean-macintyre + - john-bienkiewicz +--- + +Vocational Education and Training (VET) data provides information on how people train and learn skills for work. This includes apprentices, trainees and TAFE students. + + + +This entry provides information on how to access: + +* VET students by Industry +* VET graduate outcomes, including salary and other employment information; +* VET activity data (enrolements and completions); and +* Apprenticeships and traineeships data (enrolements and completions). + +More advanced tabulation of the Students and Courses and Apprenticeships data (e.g statistical areas) can be taken from NCVER's [Vocstats SuperWeb2 portal](http://vocstats.ncver.edu.au/webapi/jsf/login.xhtml). The login details are: + +* Username: GovHack +* Password: GovHack + +Please contact the mentors for more information. diff --git a/_datasets/2016/australia/department-of-employment/job-services-australia-data.md b/_datasets/2016/australia/department-of-employment/job-services-australia-data.md new file mode 100644 index 0000000..fbb58a4 --- /dev/null +++ b/_datasets/2016/australia/department-of-employment/job-services-australia-data.md @@ -0,0 +1,20 @@ +--- +dataset_url: https://data.gov.au/dataset/job-services-australia-data +excerpt_separator: +gid: job-services-australia-data +jurisdiction: australia +name: Job Services Australia Data +organisation: department-of-employment +title: Job Services Australia Data +mentors: + - sean-mullins + - malcolm-cook +--- + +Employment Services is the Australian Government’s way of helping get more Australians into work. Job Services Australia was the employment services model between 1 July 2009- 30 June 2015. These datasets are the aggregated Job Services Australia youth caseload (job seekers aged 15-24) for labour market regions across Australia, broken down by various demographics including stream classification. The caseload datasets contain information on the number of people being assisted by Job Services Australia for each month of the programme. + + + +The outcomes datasets contain information on the number of job seekers who remained in employment for particular milestones (13 weeks or 26 weeks) and who were placed into a job. + +Further descriptions of employment services and the variable descriptions are available in the attached documentation below. \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-employment/jobs-services-australia-vacancy-data.md b/_datasets/2016/australia/department-of-employment/jobs-services-australia-vacancy-data.md new file mode 100644 index 0000000..d438406 --- /dev/null +++ b/_datasets/2016/australia/department-of-employment/jobs-services-australia-vacancy-data.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/jobs-services-australia-vacancy-data +excerpt_separator: +gid: jobs-services-australia-vacancy-data +jurisdiction: australia +name: Jobs Services Australia Vacancy Data +organisation: department-of-employment +title: Jobs Services Australia Vacancy Data +mentors: + - cedric-seveque +--- + +Job Services Australia (JSA) was the Australian Government’s employment service between 1 July 2009 to 30 June 2015. + + + +This is the vacancy data for the Jobs Services Australia contract for 2009 to 2015, using Australian and New Zealand Standard Classification of Occupations (ANZSCO), including date of listing and job location. \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-industry-innovation-and-science/sa3-region-innovation-data-2009-15.md b/_datasets/2016/australia/department-of-industry-innovation-and-science/sa3-region-innovation-data-2009-15.md new file mode 100644 index 0000000..ecc4caf --- /dev/null +++ b/_datasets/2016/australia/department-of-industry-innovation-and-science/sa3-region-innovation-data-2009-15.md @@ -0,0 +1,14 @@ +--- +dataset_url: https://data.gov.au/dataset/sa3-region-innovation-data +excerpt_separator: +gid: sa3-region-innovation-data-2009-15 +jurisdiction: australia +name: SA3 Region Innovation Data 2009-15 +organisation: department-of-industry-innovation-and-science +title: SA3 Region Innovation Data 2009-15 +mentors: + - andrew-lalor + - melissa-eaton +--- + +This dataset reports on innovation activities (R&D expenditure, patent and trademark counts) and business creation (new businesses) across SA3 regions in Australia. \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-infrastructure-and-regional-development/australian-road-deaths-database.md b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/australian-road-deaths-database.md new file mode 100644 index 0000000..270bb6c --- /dev/null +++ b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/australian-road-deaths-database.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/australian-road-deaths-database/resource/fd646fdc-7788-4bea-a736-e4aeb0dd09a8 +excerpt_separator: +gid: australian-road-deaths-database +jurisdiction: australia +name: Australian Road Deaths Database +organisation: department-of-infrastructure-and-regional-development +title: Australian Road Deaths Database +mentors: + - peter-johnston +--- + +The Australian Road Deaths Database provides basic details of road transport crash fatalities in Australia as reported by the police each month to the State and Territory road safety authorities. \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-infrastructure-and-regional-development/bitre-australian-aviation-data.md b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/bitre-australian-aviation-data.md new file mode 100644 index 0000000..85684a7 --- /dev/null +++ b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/bitre-australian-aviation-data.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://bitre.gov.au/statistics/aviation/index.aspx +excerpt_separator: +gid: bitre-australian-aviation-data +jurisdiction: australia +name: BITRE Australian Aviation Data +organisation: department-of-infrastructure-and-regional-development +title: BITRE Australian Aviation Data +mentors: + - gangadharan-(mano)-manoranjan +--- + +BITRE publishes several domestic and international aviation statistics in csv format. \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-infrastructure-and-regional-development/the-australian-road-deaths-database-and-australian-aviation-data-(among-other-sets).md b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/the-australian-road-deaths-database-and-australian-aviation-data-(among-other-sets).md new file mode 100644 index 0000000..0fbf1f5 --- /dev/null +++ b/_datasets/2016/australia/department-of-infrastructure-and-regional-development/the-australian-road-deaths-database-and-australian-aviation-data-(among-other-sets).md @@ -0,0 +1,11 @@ +--- +dataset_url: https://infrastructure.gov.au/govhack/index.aspx +excerpt_separator: +gid: the-australian-road-deaths-database-and-australian-aviation-data-(among-other-sets) +jurisdiction: australia +name: The Australian Road Deaths Database and Australian Aviation Data (among other sets) +organisation: department-of-infrastructure-and-regional-development +title: The Australian Road Deaths Database and Australian Aviation Data (among other sets) +--- + +Please follow the link for our featured data \ No newline at end of file diff --git a/_datasets/2016/australia/department-of-social-services/settlement-data-extract.md b/_datasets/2016/australia/department-of-social-services/settlement-data-extract.md new file mode 100644 index 0000000..2df4735 --- /dev/null +++ b/_datasets/2016/australia/department-of-social-services/settlement-data-extract.md @@ -0,0 +1,48 @@ +--- +dataset_url: https://data.gov.au/dataset/http-www-dss-gov-au-settlement-and-multicultural-affairs-programs-policy-settlement-services +excerpt_separator: +gid: settlement-data-extract +jurisdiction: australia +name: Settlement Data Extract +organisation: department-of-social-services +title: Settlement Data Extract +--- + +The Settlement Data Extract supplied for GovHack 2016, was extracted from the Settlement Database (SDB) and allows the production of statistical reports about migrants settling in Australia. + + + +The SDB has been developed to provide statistical data for government and community agencies involved in the planning and provision of settlement services. It brings together data from various Department of Immigration and Border Protection (DIBP) systems and a number of other sources including Medicare Australia. The SDB is a repository of information on permanent, and some temporary, migrants who have arrived in Australia since 1 January 1991. + +# Dataset variables + +## Current State +State of Residence refers to the State or Territory in which a migrant resides. State of Residence is determined from address information collected by the SDB. +It should be noted that although efforts are made to keep up to date address information for migrants recorded in the SDB, not all State and Territory information can be considered as current. For many migrants, no State of Residence is recorded. + +## Local Government Area +Local Government Area (LGA) is a spatial unit defined in the Local Government Area Structure of the 2011 Australian Standard Geographical Classification (ASGC) published by the Australian Bureau of Statistics (ABS). LGAs aggregate to form the incorporated areas of State and Territories and as such do not cover the whole of Australia. +The SDB allocates which LGA a migrant resides in based on migrant postcode data recorded in the SDB. Some postcodes may correspond to more than one LGA. In these cases, the SDB uses the appropriate ABS 2011 ASGC Correspondence file to allocate the postcode by determining that the LGA which receives the highest percentage of population for a particular postcode will receive all the data for that postcode. + +## Main Language +Main Language refers to a migrant's recorded main language in the SDB. In the SDB there are approximately 300 different languages recorded. Main Language data is obtained from a number of different sources. +For migrants who enrol with the Adult Migrant English Program (AMEP) after arrival in Australia, main language data comes from the AMEP Reporting and Management System (ARMS) database. +Main Language is not recorded for all migrants in the SDB. It may be missing for portions of migrants in the Skilled and Family migration streams. However, this variable is captured well for the Humanitarian migration stream, particularly for more recently arrived humanitarian entrants. + +## English Proficiency +English Proficiency (EP) relates to a migrant's level of spoken English. This information is available only for migrants aged five years and over at the time of visa grant. EP data is collected from various sources depending on the migrant's visa Migration Stream. This can include formal English tests or self-assessments. Updated EP data is recorded from ARMS for migrants who enrol in the AMEP after arrival in Australia. +Reporting on EP may result in a high proportion of 'not stated' results, particularly for the Skilled and Family Migration Streams. However, Humanitarian Migration Stream entrants tend to have more complete records for EP. + +## Country of Birth +Country of Birth (COB) refers to the country in which a migrant was born. COB is recorded by the DIBP on a mandatory basis for every person who is involved in a visa application. + +## Gender +Gender information is collected from migrants when completing a visa application. + +## Migration Stream +A Migration Stream is a collection of related visa subclasses, grouped together by their purpose of entry. At present there are four primary migration streams - Skilled, Family, Humanitarian and Other. Migration Stream is often also referred to as the visa stream. + +## Age Band +Age band of migrants based on Age at Extract. + +The date of arrival range for the Settlement Data Extract is between 01 July 2011 and 04 July 2016 (latest data). \ No newline at end of file diff --git a/_datasets/2016/australia/geoscience-australia/3d-geologic-models-of-australia.md b/_datasets/2016/australia/geoscience-australia/3d-geologic-models-of-australia.md new file mode 100644 index 0000000..2effe9b --- /dev/null +++ b/_datasets/2016/australia/geoscience-australia/3d-geologic-models-of-australia.md @@ -0,0 +1,22 @@ +--- +dataset_url: https://geonetwork.nci.org.au/geonetwork/srv/eng/catalog.search#/metadata/f6453_4235_6400_6448 +excerpt_separator: +gid: 3d-geologic-models-of-australia +jurisdiction: australia +name: 3D Geologic Models of Australia +organisation: geoscience-australia +title: 3D Geologic Models of Australia +mentors: + - david-lescinsky +--- + +Geoscience Australia (GA) has created a unique collection of 3D structural and geological models and model inputs for Australia and its near shore regions. + + + +Currently the collection contains a variety of 3D volumetric models and surfaces that were produced for specific projects at regional to continental scale. The approximately 40 regional scale models in the collection cover roughly 1/3 of the Australian continent. The models capture 3D stratigraphy and architecture, including the depth to bedrock and the locations of different major rock units, faults and geological structures. The geologic models represent the integration of geophysical surveys, seismic surveys, borehole data, field geology, and geochemical data, the majority of which will now be available through this and other RDSI collections. + +In their current form, the 3D models provide a valuable input to simulations of geological processes. However, the plan over time is to use the HPC capability at NCI and the large storage volumes available to dynamically integrate the various models and geological, geochemical and geophysical derivative products to then create a unified 3D model for the entire continent. + +Separately and then cumulatively, these models will provide an important new basis for describing and understanding Australian geologic evolution and resource wealth.Currently there are no international open standards for the development and storage of 3D geological models, which is why they are difficult to integrate or stitch into nationally integrated data sets. The lack of consistency of the models means that each has to be transformed into formats compatible with existing HP modelling and simulation software. It is hoped that through exposing these 3D geological models into a HP collaborative environment that this will foster and accelerate the development of international standards and tools necessary for the assimilation of 3D geological models into a variety of HP programs1.Alternative catalogues can be found at: +http://www.ga.gov.au/search/index.html#/ GeoCat #74404 http://researchdata.ands.org.au/search/ http://data.gov.au http://find.ga.gov.au/ \ No newline at end of file diff --git a/_datasets/2016/australia/geoscience-australia/earthsci.md b/_datasets/2016/australia/geoscience-australia/earthsci.md new file mode 100644 index 0000000..fce8f2f --- /dev/null +++ b/_datasets/2016/australia/geoscience-australia/earthsci.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://github.com/GeoscienceAustralia/earthsci +excerpt_separator: +gid: earthsci +jurisdiction: australia +name: EarthSci - Data Visualisation Tool +organisation: geoscience-australia +title: EarthSci - Data Visualisation Tool +mentors: + - david-lescinsky +--- + +EarthSci is an Eclipse RCP platform for creating applications for the visualisation of earth science data. It is an evolution of the existing [GA World Wind Suite](https://github.com/ga-m3dv/ga-worldwind-suite) built on the [NASA World Wind Java SDK](http://worldwind.arc.nasa.gov/java/). + +The vision for EarthSci is to take the best features of the [GA World Wind Suite](https://github.com/ga-m3dv/ga-worldwind-suite) (Geological model support, WMS/WFS support, tiled data preparation, keyframe animation etc.) and combine them with the best features of the Eclipse platform (modular plugin architecture, in-built help, native windowing, model-based UI) to create a flexible platform with powerful science visualisation features. As development progresses more and more features will be added. + +For more information on the project, see the [Wiki](https://github.com/GeoscienceAustralia/earthsci/wiki). + +Further details about the EarthSci data visualisation tool can be found here in GitHub: [https://github.com/GeoscienceAustralia/earthsci](https://github.com/GeoscienceAustralia/earthsci). diff --git a/_datasets/2016/australia/geoscience-australia/marine-connectivity-database-subset.md b/_datasets/2016/australia/geoscience-australia/marine-connectivity-database-subset.md new file mode 100644 index 0000000..db40507 --- /dev/null +++ b/_datasets/2016/australia/geoscience-australia/marine-connectivity-database-subset.md @@ -0,0 +1,19 @@ +--- +dataset_url: http://ecat.ga.gov.au/geonetwork/srv/eng/search#!98f93235-e053-4dd5-b7df-8c1a2c0be461 +excerpt_separator: +gid: marine-connectivity-database-subset +jurisdiction: australia +name: Marine Connectivity Database Subset +organisation: geoscience-australia +title: Marine Connectivity Database Subset +mentors: + - johnathan-kool +--- + +A new fully four-dimensional biophysical dispersal model has been developed by Geoscience Australia, that uses the parallel processing ability of the National Computational Infrastructure Facility supercomputer (http://nci.org.au/), to handle large numbers of simulated larvae, and that can also save supplementary positional information as points within a database management system. + + + +Information gained from the model can be used to inform priorities for monitoring the performance of marine reserves and studying changes in connectivity structure. Other potential applications include the ability to investigate transport patterns of sediment, pollutants or debris; predict the potential spread of invasive species; and quantify how upstream management efforts can generate downstream benefits. + + diff --git a/_datasets/2016/australia/iag/iag-flood-data.md b/_datasets/2016/australia/iag/iag-flood-data.md new file mode 100644 index 0000000..7531c94 --- /dev/null +++ b/_datasets/2016/australia/iag/iag-flood-data.md @@ -0,0 +1,26 @@ +--- +dataset_url: https://github.com/iag-edge-labs/flood-data +excerpt_separator: +gid: iag-flood-data +jurisdiction: australia +name: IAG Flood Data +organisation: iag +title: IAG Flood Data +mentors: + - hugh-saalmans + - nick-bartzis +--- + +IAG are pleased to announce the release of a national dataset containing a view of flood risk across Australia. The released data is available at an address and an aggregated level. The address level data provides granular flood risk information via an api and is based on the GNAF February 2016 release. The second level of released data is aggregated at an administrative boundary level and available as bulk data, providing users with an overview of flood risk at a regional/national level. + + + +The data used for identifying the degree of flood risk is a combination of IAG modelling, industry sourced data, and local and state government data. The insurance industry is uniquely positioned in its ability to relate a physical risk into a financial risk through its exposure to claims data and the released dataset utilises these depth-damage functions to derive the risk categories supplied in the national dataset. It should be noted that the data represents a financial risk and consequently are not suitable to assess potential risk to life, public safety etc. + +In releasing the data, IAG hope to assist in informing the general public on flood risk at their property and surrounding communities. The data release ties in with IAG's core mission of making your world a safer place by: + +1. Improving awareness of flood risk to property owners and communities. +2. Promoting self mitigation, especially in areas with significant flood risks. +3. Improving risk communication and coordination between general public, related government agencies and industries. +4. Promoting information sharing to benefit communities. +5. Attracting new innovations in communicating and visualisation of risks. diff --git a/_datasets/2016/australia/ip-australia/intellectual-property-government-open-data-2016.md b/_datasets/2016/australia/ip-australia/intellectual-property-government-open-data-2016.md new file mode 100644 index 0000000..932a866 --- /dev/null +++ b/_datasets/2016/australia/ip-australia/intellectual-property-government-open-data-2016.md @@ -0,0 +1,14 @@ +--- +dataset_url: https://data.gov.au/dataset/intellectual-property-government-open-data-2016 +excerpt_separator: +gid: intellectual-property-government-open-data-2016 +jurisdiction: australia +name: Intellectual Property Government Open Data 2016 +organisation: ip-australia +title: Intellectual Property Government Open Data 2016 +mentors: + - matt-johnson + - alica-daly +--- + +The Intellectual Property Government Open Data (IPGOD) includes over 100 years of Intellectual Property (IP) rights administered by IP Australia comprising patents, trade marks, designs and plant breeder's rights. The data is highly detailed, including information on each aspect of the application process from application through to granting of IP rights. We have published a paper to accompany IPGOD which describes the data and illustrates its use, as well as a technical paper on the firm matching. Links to these papers can be found in the Data Dictionary. \ No newline at end of file diff --git a/_datasets/2016/australia/ip-australia/intellectual-property-government-open-live-data.md b/_datasets/2016/australia/ip-australia/intellectual-property-government-open-live-data.md new file mode 100644 index 0000000..f106073 --- /dev/null +++ b/_datasets/2016/australia/ip-australia/intellectual-property-government-open-live-data.md @@ -0,0 +1,18 @@ +--- +dataset_url: https://data.gov.au/dataset/intellectual-property-government-open-live-data +excerpt_separator: +gid: intellectual-property-government-open-live-data +jurisdiction: australia +name: Intellectual Property Government Open Live Data +organisation: ip-australia +title: Intellectual Property Government Open Live Data +mentors: + - matt-johnson + - alica-daly +--- + +The Intellectual Property Government Open Live Data (IPGOLD) includes over 100 years of Intellectual Property (IP) rights administered by IP Australia comprising patents, trade marks, designs and plant breeder's rights. The data is highly detailed, including information on each aspect of the application process from application through to granting of IP rights. + + + +IPGOLD is inherently the same data as the IPGOD data set, with a weekly update instead of the annual snapshot available in IPGOD. Many of the scripts of IPGOLD are still being developed and tested. As such IPGOLD should be considered a Beta release. \ No newline at end of file diff --git a/_datasets/2016/australia/national-portrait-gallery/portraits-and-people.md b/_datasets/2016/australia/national-portrait-gallery/portraits-and-people.md new file mode 100644 index 0000000..1c838b5 --- /dev/null +++ b/_datasets/2016/australia/national-portrait-gallery/portraits-and-people.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.gov.au/dataset/portraits-and-people +excerpt_separator: +gid: portraits-and-people +jurisdiction: australia +name: Portraits and People +organisation: national-portrait-gallery +title: Portraits and people +--- + +This data describes around 3000 portraits in the National Portrait Collection and the people associated with them – the subjects depicted and the artist creators. Mentor - Catherine Styles. \ No newline at end of file diff --git a/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/advanced-ecological-knowledge-observation-system-data-(australian-plant-and-animal-data).md b/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/advanced-ecological-knowledge-observation-system-data-(australian-plant-and-animal-data).md new file mode 100644 index 0000000..4f4a8c7 --- /dev/null +++ b/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/advanced-ecological-knowledge-observation-system-data-(australian-plant-and-animal-data).md @@ -0,0 +1,17 @@ +--- +dataset_url: https://api.aekos.org.au +excerpt_separator: +gid: advanced-ecological-knowledge-observation-system-data-(australian-plant-and-animal-data) +jurisdiction: australia +name: Advanced Ecological Knowledge Observation System data (Australian plant and animal data) +organisation: ncris-research-data-and-infrastructure-group +title: Advanced Ecological Knowledge Observation System data (Australian plant and animal data) +mentors: + - tom-saleeba +--- + +The ÆKOS system is primarily focused on systematically collected terrestrial ecosystem data using plot-based collection methods. These data are useful for reliable testing of fundamental ecosystem hypotheses. Ì KOS stores the plot-based data and Information that describes the data and its collection context. This information can be obtained from field manuals, notebooks, scientific papers, and reports. + + + +More information: http://ecoinformatics.org.au/ecological_datasets \ No newline at end of file diff --git a/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/atlas-of-living-australia.md b/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/atlas-of-living-australia.md new file mode 100644 index 0000000..f5bc8e9 --- /dev/null +++ b/_datasets/2016/australia/ncris-research-data-and-infrastructure-group/atlas-of-living-australia.md @@ -0,0 +1,11 @@ +--- +dataset_url: http://www.ala.org.au/ +excerpt_separator: +gid: atlas-of-living-australia +jurisdiction: australia +name: Atlas of Living Australia +organisation: ncris-research-data-and-infrastructure-group +title: Atlas of Living Australia +--- + +The Atlas of Living Australia contains a massive amount of biodiversity data collated by Australian scientific communities and citizen scientists. Tons of geospatially located species occurrences, info on those species. The ALA also has an extensive set of APIs for downloading and uploading data. \ No newline at end of file diff --git a/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-sa.md b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-sa.md new file mode 100644 index 0000000..e1af61d --- /dev/null +++ b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-sa.md @@ -0,0 +1,15 @@ +--- +dataset_url: http://cdn.newsapi.com.au +excerpt_separator: +gid: news-corp-content-api-(capi)-sa +jurisdiction: sa +name: News Corp Content API (CAPI) +organisation: newscorp-sa +title: News Corp Content API (CAPI) +--- + +NewsCorp uses the resources of thousands of staff journalists, photographers and editors in Australia and a larger network of journalists worldwide to produce many thousands of distinct stories and images every day. These yarns are created in systems that don't just support web sites - they must provide content for apps and print too. + + + +The dataset contains data syndicated from other sources, and may include future dated content - neither of which is permitted for use for GovHack. \ No newline at end of file diff --git a/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-vic.md b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-vic.md new file mode 100644 index 0000000..200bde3 --- /dev/null +++ b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-vic.md @@ -0,0 +1,15 @@ +--- +dataset_url: http://cdn.newsapi.com.au +excerpt_separator: +gid: news-corp-content-api-(capi)-vic +jurisdiction: vic +name: News Corp Content API (CAPI) +organisation: newscorp-vic +title: News Corp Content API (CAPI) +--- + +NewsCorp uses the resources of thousands of staff journalists, photographers and editors in Australia and a larger network of journalists worldwide to produce many thousands of distinct stories and images every day. These yarns are created in systems that don't just support web sites - they must provide content for apps and print too. + + + +The dataset contains data syndicated from other sources, and may include future dated content - neither of which is permitted for use for GovHack. \ No newline at end of file diff --git a/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-wa.md b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-wa.md new file mode 100644 index 0000000..5374fa9 --- /dev/null +++ b/_datasets/2016/australia/newscorp/news-corp-content-api-(capi)-wa.md @@ -0,0 +1,15 @@ +--- +dataset_url: http://cdn.newsapi.com.au +excerpt_separator: +gid: news-corp-content-api-(capi)-wa +jurisdiction: wa +name: News Corp Content API (CAPI) +organisation: newscorp-wa +title: News Corp Content API (CAPI) +--- + +NewsCorp uses the resources of thousands of staff journalists, photographers and editors in Australia and a larger network of journalists worldwide to produce many thousands of distinct stories and images every day. These yarns are created in systems that don't just support web sites - they must provide content for apps and print too. + + + +The dataset contains data syndicated from other sources, and may include future dated content - neither of which is permitted for use for GovHack. \ No newline at end of file diff --git a/_datasets/2016/australia/psma/geoscape-evaluation-data-for-govhack-2016.md b/_datasets/2016/australia/psma/geoscape-evaluation-data-for-govhack-2016.md new file mode 100644 index 0000000..4bec3ec --- /dev/null +++ b/_datasets/2016/australia/psma/geoscape-evaluation-data-for-govhack-2016.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://psma.sharefile.com/d-sdd5c023f5224e749 +excerpt_separator: +gid: geoscape-evaluation-data-for-govhack-2016 +jurisdiction: australia +name: Geoscape Evaluation Data for GovHack 2016 +organisation: psma +title: Geoscape Evaluation Data for GovHack 2016 +mentors: + - michael-dixon +--- + +Geoscape is PSMA's award-winning new initiative to capture Australia's built environment and anchor it in a reliable geospatial base. The dataset will include 3D building attributes, land cover and tree heights. Geoscape also captures features such as roof materials, swimming pools and solar panels. + + + +Our first capture phase covering 16,500 square kilometres in the Adelaide region has been completed and we are now excited to make a sample of data available for download. + +The Geoscape Evaluation Dataset comprises a 25 square kilometre area approximately 5 kilometres south/south west of Adelaide's central business district. This covers an area that is entirely 'urban' and takes in 25 suburbs. This area also includes a reasonable proportion of buildings with solar panels and properties with swimming pools. + +To release this data for GovHack16 under a CCBY-NC licence, we have had to remove the values for maximum [building] height, eave height and roof shape type and the trees layer. + +The full Geoscape Evaluation dataset is provided under an evaluation licence from https://www.psma.com.au/publications/news/geoscape-evaluation-data-now-available \ No newline at end of file diff --git a/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-geodatabase.md b/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-geodatabase.md new file mode 100644 index 0000000..0eed041 --- /dev/null +++ b/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-geodatabase.md @@ -0,0 +1,18 @@ +--- +dataset_url: https://psma.sharefile.com/d-s13dcf9248ef46e2b +excerpt_separator: +gid: gnaf-flat-file-in-esri-geodatabase +jurisdiction: australia +name: GNAF flat file in ESRI Geodatabase +organisation: psma +title: GNAF flat file in ESRI Geodatabase +mentors: + - michael-dixon + - toby-bellwood +--- + +To support GovHack 2016, PSMA has created a simplified GNAF file across a range of common data formats. In response to the feedback received from the general public on the complexity of the full GNAF release on data.gov.au, we have prepared these flat files as an introduction to GNAF. The flat file format makes it easier to use of GNAF, however, in order to create these files, we have had to reduce some capability that was delivered through the complex relational data structure. + + + +This file is in ESRI Geodatabase format. \ No newline at end of file diff --git a/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-shapefile.md b/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-shapefile.md new file mode 100644 index 0000000..0158ffc --- /dev/null +++ b/_datasets/2016/australia/psma/gnaf-flat-file-in-esri-shapefile.md @@ -0,0 +1,18 @@ +--- +dataset_url: https://psma.sharefile.com/d-sa6f353a357849fbb +excerpt_separator: +gid: gnaf-flat-file-in-esri-shapefile +jurisdiction: australia +name: GNAF flat file in ESRI Shapefile +organisation: psma +title: GNAF flat file in ESRI Shapefile +mentors: + - michael-dixon + - toby-bellwood +--- + +To support GovHack 2016, PSMA has created a simplified GNAF file across a range of common data formats. In response to the feedback received from the general public on the complexity of the full GNAF release on data.gov.au, we have prepared these flat files as an introduction to GNAF. The flat file format makes it easier to use of GNAF, however, in order to create these files, we have had to reduce some capability that was delivered through the complex relational data structure. + + + +This file is in ESRI Shapefile format. \ No newline at end of file diff --git a/_datasets/2016/australia/psma/gnaf-flat-file-in-midmif.md b/_datasets/2016/australia/psma/gnaf-flat-file-in-midmif.md new file mode 100644 index 0000000..8f5e6e8 --- /dev/null +++ b/_datasets/2016/australia/psma/gnaf-flat-file-in-midmif.md @@ -0,0 +1,18 @@ +--- +dataset_url: https://psma.sharefile.com/d-s1ee1276aaf24594a +excerpt_separator: +gid: gnaf-flat-file-in-midmif +jurisdiction: australia +name: GNAF flat file in MidMif +organisation: psma +title: GNAF flat file in MidMif +mentors: + - michael-dixon + - toby-bellwood +--- + +To support GovHack 2016, PSMA has created a simplified GNAF file across a range of common data formats. In response to the feedback received from the general public on the complexity of the full GNAF release on data.gov.au, we have prepared these flat files as an introduction to GNAF. The flat file format makes it easier to use of GNAF, however, in order to create these files, we have had to reduce some capability that was delivered through the complex relational data structure. + + + +This file is MapInfo MidMif format. \ No newline at end of file diff --git a/_datasets/2016/australia/psma/gnaf-flat-file-in-psv.md b/_datasets/2016/australia/psma/gnaf-flat-file-in-psv.md new file mode 100644 index 0000000..d683406 --- /dev/null +++ b/_datasets/2016/australia/psma/gnaf-flat-file-in-psv.md @@ -0,0 +1,18 @@ +--- +dataset_url: https://psma.sharefile.com/d-s5ca4c5ddf114ac8b +excerpt_separator: +gid: gnaf-flat-file-in-psv +jurisdiction: australia +name: GNAF flat file in PSV +organisation: psma +title: GNAF flat file in PSV +mentors: + - michael-dixon + - toby-bellwood +--- + +To support GovHack 2016, PSMA has created a simplified GNAF file across a range of common data formats. In response to the feedback received from the general public on the complexity of the full GNAF release on data.gov.au, we have prepared these flat files as an introduction to GNAF. The flat file format makes it easier to use of GNAF, however, in order to create these files, we have had to reduce some capability that was delivered through the complex relational data structure. + + + +This file is in PSV format. \ No newline at end of file diff --git a/_datasets/2016/australia/psma/psma-administrative-boundaries.md b/_datasets/2016/australia/psma/psma-administrative-boundaries.md new file mode 100644 index 0000000..a1cbd6f --- /dev/null +++ b/_datasets/2016/australia/psma/psma-administrative-boundaries.md @@ -0,0 +1,20 @@ +--- +dataset_url: https://data.gov.au/dataset/psma-administrative-boundaries +excerpt_separator: +gid: psma-administrative-boundaries +jurisdiction: australia +name: PSMA Administrative Boundaries +organisation: psma +title: PSMA Administrative Boundaries +mentors: + - michael-dixon + - toby-bellwood +--- + +The Administrative Boundaries datasets are Australia's most comprehensive national collection of boundaries including government, statistical and electoral boundaries. + + + +Administrative Boundaries is produced by PSMA Australia Limited (PSMA), an unlisted public company formed by the nine governments of Australia to collate and standardise, format and aggregate location data from each of the jurisdictions into authoritative location based national datasets. + +This dataset contains boundaries in seven themes: Australian Bureau of Statistics (ABS) boundaries, electoral boundaries, state and territory boundaries, local government areas, suburbs/localities, wards and town points. \ No newline at end of file diff --git a/_datasets/2016/nsw/city-of-parramatta/parramatta-datasets.md b/_datasets/2016/nsw/city-of-parramatta/parramatta-datasets.md new file mode 100644 index 0000000..e773fac --- /dev/null +++ b/_datasets/2016/nsw/city-of-parramatta/parramatta-datasets.md @@ -0,0 +1,66 @@ +--- +dataset_url: +events: +- parramatta +excerpt_separator: +gid: parramatta-datasets +jurisdiction: nsw +name: Parramatta Datasets +organisation: parramatta-city-council +title: Parramatta Datasets +--- + +A collection of interesting datasets curated by Parramatta City Council. + + + +

General Datasets

+

PSMA Geocoded National Address File https://data.gov.au/dataset/geocoded-national-address-file-g-naf

+

Data Visualisations These visualisations help users interact with data and we recommend using Chrome, Firefox, Safari or Internet Explorer 10 and above. http://www.bts.nsw.gov.au/Data-Visualisations ie http://visual.bts.nsw.gov.au/jtwdynamic/

+

StormTracker http://data.nsw.gov.au/data/dataset/a319beed-322e-4a6b-8234-fbbea6208af4

+

The Administrative Boundaries datasets are Australia’s most comprehensive national collection of boundaries including government, statistical and electoral boundaries. https://data.gov.au/dataset/psma-administrative-boundaries

+

https://data.gov.au/dataset/psma-administrative-boundaries

+

Historical rainfall and temperature forecast and observations hourly data https://www.data.gov.au/dataset/weather-forecasting-verification-data-2015-05-to-2016-04

+

Bureau of Health Information Reports http://data.nsw.gov.au/data/dataset/7a4471e6-8413-43d4-b0a3-69f65888b9ff

+

Representative Aboriginal and Torres Strait Islander Body (RATSIB) areas https://www.data.gov.au/dataset/ratsib-boundaries

+

Job Services Australia (JSA) was the Australian Government’s employment service between 1 July 2009 to 30 June 2015.https://www.data.gov.au/dataset/jobs-services-australia-vacancy-data

+

NSW Globe allows the display of NSW Government maps and spatial data including land parcels and tenure which is implemented through Google Earth. http://data.nsw.gov.au/data/dataset/6308fd4b-de9d-4ea3-bdba-af6c8c682d14

+

NSW Base Map http://data.nsw.gov.au/data/dataset/820dee08-a7b2-409d-ab16-f627ba34e2f7

+

Open API http://www.openaustralia.org.au/api/

+

https://github.com/OpenEconomyAustralia/AustraliaBudgetAPI

+

https://github.com/deanpribetic/AustralianPostcodeSearch

+

Heritage Datasets

+

Commonwealth Heritage List as determined by the Australian Government Department of the Environment.https://www.data.gov.au/dataset/commonwealth-heritage-list

+

State Records NSW Search API http://data.nsw.gov.au/data/dataset/865e9de6-b673-45d1-8b02-fed1022f9e69

+

Search the Powerhouse Museum Collection http://data.nsw.gov.au/data/dataset/bf5a60c5-3340-4cd7-9282-d4db9819e071

+

Convict Indexes http://data.nsw.gov.au/data/dataset/acdd01d0-d700-465c-a183-735c4f139ca0

+

Standard Instrument Local Environmental Plan - Heritage Conservation (HER) http://data.nsw.gov.au/data/dataset/cfcf643e-1164-4847-bbef-d76832aa90a6 http://data.nsw.gov.au/data/dataset/5b59e361-28ce-4cc9-bff2-8d3c29b3b210

+

Flickr Photostream View, download and reuse photographs from the collections of the NSW State Records Authority.http://data.nsw.gov.au/data/dataset/32f00807-077b-45f9-978b-df4f688b1b17

+

Portraits and people This data describes around 3000 portraits in the National Portrait Collection https://www.data.gov.au/dataset/portraits-and-people

+

Trove newspapers, pictures, books http://help.nla.gov.au/trove/building-with-trove/api

+

Australia Council Funded Arts Organisations 2009, https://www.data.gov.au/dataset/arts-on-the-map

+

NSW Points of Interest http://data.nsw.gov.au/data/dataset/b0588931-4e69-4427-8a6c-a2c47c804024

+

Place Names are the recorded names of cultural and physical features http://data.nsw.gov.au/data/dataset/a86b7996-2601-4fc9-96a1-d47661e7d267

+

Returned Soldiers Settlement Act 1916, (Act No 21 1916) http://data.nsw.gov.au/data/dataset/78fe0108-2ae2-4918-b359-48a3bb1c31dd

+

Picture Australia metadata https://data.gov.au/dataset/picture-australia-metadata

+

Memory of a Nation, National Archives dataset https://data.gov.au/dataset/memory-of-a-nation-data

+

Council Admin Data

+

http://www.parracity.nsw.gov.au/live/my_environment/water_and_waterways/water_quality

+

http://www.parracity.nsw.gov.au/your_council/future_planning/parramatta_lga_demographics_and_data

+

Other Interesting Datasets

+

Online searchable database of NSW flora. http://data.nsw.gov.au/data/dataset/9aa3e64b-a9d1-43a2-b3fd-fc38f83cd357

+

Projection data for New South Wales are available to the year 2041http://data.nsw.gov.au/data/dataset/eee673fe-2458-47a3-a36d-7945581678c8

+

NSW Local Government Area Population, Household and Dwelling Projections http://data.nsw.gov.au/data/dataset/90882494-aa65-4d70-b11e-2e6abb2adcb7

+

RMS Live Traffic Map - Developer Options http://data.nsw.gov.au/data/dataset/e31077b8-9afb-4f52-a324-490700bc8d93

+

Transport for NSW supports open access to information on public transport services in NSW. As part of this initiative, public transport and live traffic data has been made available under the NSW Transport Data Exchange Licence Agreement. State Heritage Register - Centroids http://data.nsw.gov.au/data/dataset/e2937b1e-6af4-4dd0-bde6-8042ff5a2340

+

Standard Instrument Local Environmental Plan - Height of Buildings (HOB) http://data.nsw.gov.au/data/dataset/d18eb9cb-9e24-4bdd-8efc-49a043921c2f

+

Deceased Estate Files, 1880-1923 https://www.data.gov.au/dataset?organization=new-south-wales-datasets&jurisdiction=New+South+Wales&page=2

+

Interactive map of cycleways in NSW. http://data.nsw.gov.au/data/dataset/29d8e700-8227-4ed4-8688-931df189495c

+

ABN Lookup Bulk Data - Australian Business Register.https://www.data.gov.au/dataset/abn-bulk-extract

+

The Australian Charities and Not-for-profits Commission (ACNC) https://www.data.gov.au/dataset?page=3

+

Home building Complaints http://data.nsw.gov.au/data/dataset/6b1f1a30-d7ad-4d35-9b1e-77b9350a035c

+

Hospital Quarterly: Performance of NSW public hospitals - October to December 2015 http://data.nsw.gov.au/data/dataset/ed4727bf-1811-4c2f-9ca0-b88adb97e70e

+

Home Building Licensing http://data.nsw.gov.au/data/dataset/8e35272c-3ba2-49fe-8b44-6f4fb8694170

+

https://github.com/juehan/nswCrimeStatistics

+

https://github.com/knowyrrole101/XML_Parser

+

https://github.com/Rchua72/FindAToilet

\ No newline at end of file diff --git a/_datasets/2016/nsw/city-of-sydney/access-features-and-barriers-in-sydney-city.md b/_datasets/2016/nsw/city-of-sydney/access-features-and-barriers-in-sydney-city.md new file mode 100644 index 0000000..524b230 --- /dev/null +++ b/_datasets/2016/nsw/city-of-sydney/access-features-and-barriers-in-sydney-city.md @@ -0,0 +1,33 @@ +--- +dataset_url: https://www.dropbox.com/sh/faaa0tiwpkp8ben/AAChdVtGZ4WvQFhIxSdeZTEUa?dl=0 +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: access-features-and-barriers-in-sydney-city +jurisdiction: nsw +name: Access Features and Barriers in Sydney City +organisation: city-of-sydney +title: Access Features and Barriers in Sydney City +--- + +This data includes the locations of barriers to access in public spaces in the Central Sydney CBD area. + + + +1. Barriers - that make it hard for people to get around - e.g. Stairs +2. Access supports - infrastructure that helps people with different disability on street mobility parking, accessible parking on commercial parking stations, Public toilets, including accessible toilets. taxi ranks, including secure taxi ranks that are supervised by staff during peak times. +3. General transport hubs and key services - e.g Train stations, Light rail stations, ferry wharves, Police stations and Hospitals. + +The city wants to make the City more inclusive and accessible for people with disability. The natural topography of our city means that steep hills, stairs and other features can make it hard for people who use wheelchairs, families with prams and older people to get around. + +Imagine you are single parent family with a pram coming to an event in the City, and you want to explore the City, but you want to avoid stairs as you cant lift the pram by yourself. +Or you use a wheelchair, and you cant climb steep hills because you will roll backwards if you try. +What if you have a medicial issue like IBS and just cant walk long distances without having a nearby toilet? +Or maybe you broke your leg playing sports, but want to join the team for the end of season drinks at the Glenmore Hotel in the Rocks, but you just don't think you can make it up Margaret street on your crutches because it is too steep. + +How can this data help you plan a journey or navigate your way in real time. What happens if there is a road closure, and you cant use the footpath? + +Understanding where these features are allows people to plan their journey. this data could be used in conjunction with other open source data such as data that calculates where the steep (3.8% incline and above) and moderately steep ( 2.5-3.7% incline hills are) to provide new ways for people to plan their journeys and navigate in the City and still be a part of all the great things the City has to offer. \ No newline at end of file diff --git a/_datasets/2016/nsw/department-of-education/nsw-early-childhood-education-and-care-program-locations.md b/_datasets/2016/nsw/department-of-education/nsw-early-childhood-education-and-care-program-locations.md new file mode 100644 index 0000000..14fa261 --- /dev/null +++ b/_datasets/2016/nsw/department-of-education/nsw-early-childhood-education-and-care-program-locations.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/nsw-early-childhood-education-and-care-program-locations +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: nsw-early-childhood-education-and-care-program-locations +jurisdiction: nsw +name: NSW Early Childhood Education and Care program locations +organisation: nsw-government +title: NSW Early Childhood Education and Care program locations +mentors: + - rustum-abdurahman +--- + +NSW Early Childhood Education and Care program locations \ No newline at end of file diff --git a/_datasets/2016/nsw/department-of-education/nsw-government-school-locations.md b/_datasets/2016/nsw/department-of-education/nsw-government-school-locations.md new file mode 100644 index 0000000..e2f1449 --- /dev/null +++ b/_datasets/2016/nsw/department-of-education/nsw-government-school-locations.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/nsw-government-school-locations +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: nsw-government-school-locations +jurisdiction: nsw +name: NSW government school locations +organisation: nsw-government +title: NSW government school locations +mentors: + - rustum-abdurahman +--- + +Location information for NSW government schools, including lat/longs. Dataset changes as required \ No newline at end of file diff --git a/_datasets/2016/nsw/department-of-education/nsw-government-schools-by-bushfire-category.md b/_datasets/2016/nsw/department-of-education/nsw-government-schools-by-bushfire-category.md new file mode 100644 index 0000000..27393c4 --- /dev/null +++ b/_datasets/2016/nsw/department-of-education/nsw-government-schools-by-bushfire-category.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/nsw-government-schools-by-bushfire-category +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: nsw-government-schools-by-bushfire-category +jurisdiction: nsw +name: NSW Government Schools by Bushfire Category +organisation: nsw-government +title: NSW Government Schools by Bushfire Category +mentors: + - rustum-abdurahman +--- + +NSW Government Schools by Bushfire Category \ No newline at end of file diff --git a/_datasets/2016/nsw/department-of-education/nsw-non-government-school-locations.md b/_datasets/2016/nsw/department-of-education/nsw-non-government-school-locations.md new file mode 100644 index 0000000..ba4cc95 --- /dev/null +++ b/_datasets/2016/nsw/department-of-education/nsw-non-government-school-locations.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/nsw-non-government-school-locations +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: nsw-non-government-school-locations +jurisdiction: nsw +name: NSW Non-Government School Locations +organisation: nsw-government +title: NSW Non-Government School Locations +mentors: + - rustum-abdurahman +--- + +NSW Non-Government School Locations \ No newline at end of file diff --git a/_datasets/2016/nsw/department-of-education/nsw-university-locations.md b/_datasets/2016/nsw/department-of-education/nsw-university-locations.md new file mode 100644 index 0000000..04d07e9 --- /dev/null +++ b/_datasets/2016/nsw/department-of-education/nsw-university-locations.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/nsw-university-locations +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: nsw-university-locations +jurisdiction: nsw +name: NSW University Locations +organisation: nsw-government +title: NSW University Locations +mentors: + - rustum-abdurahman +--- + +NSW University Locations by campus \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---facilities-and-operators.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---facilities-and-operators.md new file mode 100644 index 0000000..6ed5518 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---facilities-and-operators.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---facilities-and-operators +jurisdiction: nsw +name: Public Transport - Facilities and Operators +organisation: nsw-government +title: Public Transport - Facilities and Operators +mentors: + - david-phillips + - yvonne-lee +--- + +Operator contact details and location facilities for train stations, ferry wharves and bus interchanges in CSV format \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---alerts.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---alerts.md new file mode 100644 index 0000000..18c9269 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---alerts.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---realtime---alerts +jurisdiction: nsw +name: Public Transport - Realtime - Alerts +organisation: nsw-government +title: Public Transport - Realtime - Alerts +mentors: + - david-phillips + - yvonne-lee +--- + +Realtime alerts at either the stop, trip, or service line level in GTFS-realtime format for Buses, Ferries, Light Rail and Trains. \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---trip-updates.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---trip-updates.md new file mode 100644 index 0000000..2297249 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---trip-updates.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---realtime---trip-updates +jurisdiction: nsw +name: Public Transport - Realtime - Trip Updates +organisation: nsw-government +title: Public Transport - Realtime - Trip Updates +mentors: + - david-phillips + - yvonne-lee +--- + +Stop time updates for active trips, replacement vehicles, and changed stopping patterns in GTFS-realtime format for Buses, Ferries, Light Rail and Trains \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---vehicle-positions.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---vehicle-positions.md new file mode 100644 index 0000000..90af5bc --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---realtime---vehicle-positions.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---realtime---vehicle-positions +jurisdiction: nsw +name: Public Transport - Realtime - Vehicle Positions +organisation: nsw-government +title: Public Transport - Realtime - Vehicle Positions +mentors: + - david-phillips + - yvonne-lee +--- + +Current vehicle positions in GTFS-realtime format for Buses, Ferries, Light Rail and Trains \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---gtfs.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---gtfs.md new file mode 100644 index 0000000..a08d1f0 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---gtfs.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---timetables---complete---gtfs +jurisdiction: nsw +name: Public Transport - Timetables - Complete - GTFS +organisation: nsw-government +title: Public Transport - Timetables - Complete - GTFS +mentors: + - david-phillips + - yvonne-lee +--- + +Static timetables, stop locations, and route shape information in GTFS format for all operators, including regional, trackwork and transport routes not available in realtime feeds. Note: Identifiers do not match the realtime APIs \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---transxchange.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---transxchange.md new file mode 100644 index 0000000..4322702 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---complete---transxchange.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---timetables---complete---transxchange +jurisdiction: nsw +name: Public Transport - Timetables - Complete - TransXChange +organisation: nsw-government +title: Public Transport - Timetables - Complete - TransXChange +mentors: + - david-phillips + - yvonne-lee +--- + +Static timetables and stop locations in TransXChange (TXC) format for all operators, including regional and private operators and routes not currently available in realtime feeds. Note: Identifiers do not match the realtime APIs \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---for-realtime.md b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---for-realtime.md new file mode 100644 index 0000000..b3147c7 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport---timetables---for-realtime.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport---timetables---for-realtime +jurisdiction: nsw +name: Public Transport - Timetables - For Realtime +organisation: nsw-government +title: Public Transport - Timetables - For Realtime +mentors: + - david-phillips + - yvonne-lee +--- + +Static timetables, stop locations, and route shape information in GTFS format for operators that support realtime \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/public-transport-and-roads-data-sets-including-real-time-data.md b/_datasets/2016/nsw/transport-for-nsw/public-transport-and-roads-data-sets-including-real-time-data.md new file mode 100644 index 0000000..c6b9e12 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/public-transport-and-roads-data-sets-including-real-time-data.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/site/en_us/home.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: public-transport-and-roads-data-sets-including-real-time-data +jurisdiction: nsw +name: Public Transport and Roads data sets including Real time data +organisation: nsw-government +title: Public Transport and Roads data sets including Real time data +mentors: + - david-phillips + - yvonne-lee +--- + +There are a number of data sets and feeds available including roads realtime, public transport realtime, scheduled data, live traffic data, loading zones and more! \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---realtime---cameras.md b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---cameras.md new file mode 100644 index 0000000..d935b98 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---cameras.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---realtime---cameras +jurisdiction: nsw +name: Roads - Realtime - Cameras +organisation: nsw-government +title: Roads - Realtime - Cameras +mentors: + - david-phillips + - yvonne-lee +--- + +Image URL, GPS coordinates, and view description of traffic cameras in GeoJSON format \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---realtime---hazards.md b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---hazards.md new file mode 100644 index 0000000..a802cf0 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---hazards.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---realtime---hazards +jurisdiction: nsw +name: Roads - Realtime - Hazards +organisation: nsw-government +title: Roads - Realtime - Hazards +mentors: + - david-phillips + - yvonne-lee +--- + +Incidents, Fires, Floods, Alpine Conditions, Major Events and Roadworks information including GPS coordinates in GeoJSON format \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---realtime---site-status.md b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---site-status.md new file mode 100644 index 0000000..2b648f4 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---realtime---site-status.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---realtime---site-status +jurisdiction: nsw +name: Roads - Realtime - Site Status +organisation: nsw-government +title: Roads - Realtime - Site Status +mentors: + - david-phillips + - yvonne-lee +--- + +Current status of the Live Traffic NSW website in JSON format \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---realtime.md b/_datasets/2016/nsw/transport-for-nsw/roads---realtime.md new file mode 100644 index 0000000..bab5dce --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---realtime.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---realtime +jurisdiction: nsw +name: Roads - Realtime +organisation: nsw-government +title: Roads - Realtime +mentors: + - david-phillips + - yvonne-lee +--- + +Travel times and acceleration events across NSW roads in JSON format \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---static---loading-zones---kerbside.md b/_datasets/2016/nsw/transport-for-nsw/roads---static---loading-zones---kerbside.md new file mode 100644 index 0000000..aa00df9 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---static---loading-zones---kerbside.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---static---loading-zones---kerbside +jurisdiction: nsw +name: Roads - Static - Loading Zones - Kerbside +organisation: nsw-government +title: Roads - Static - Loading Zones - Kerbside +mentors: + - david-phillips + - yvonne-lee +--- + +Location of Sydney CBD kerbside loading zones (for use by delivery vehicles when loading or unloading goods) by street and time of day (hourly) in JSON and XLS (MS Excel) formats \ No newline at end of file diff --git a/_datasets/2016/nsw/transport-for-nsw/roads---static---parking---off-street.md b/_datasets/2016/nsw/transport-for-nsw/roads---static---parking---off-street.md new file mode 100644 index 0000000..d109cf1 --- /dev/null +++ b/_datasets/2016/nsw/transport-for-nsw/roads---static---parking---off-street.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://opendata.transport.nsw.gov.au/app/api-catalog.html +events: +- sydney +- parramatta +- camperdown-games +- manly +excerpt_separator: +gid: roads---static---parking---off-street +jurisdiction: nsw +name: Roads - Static - Parking - Off-Street +organisation: nsw-government +title: Roads - Static - Parking - Off-Street +mentors: + - david-phillips + - yvonne-lee +--- + +Parking spaces that are available for service and delivery drivers in Sydney's CBD (at commercial rates) in GeoJSON and CSV formats \ No newline at end of file diff --git a/_datasets/2016/qld/city-of-gold-coast/city-of-gold-coast-open-data-spatial-datasets.md b/_datasets/2016/qld/city-of-gold-coast/city-of-gold-coast-open-data-spatial-datasets.md new file mode 100644 index 0000000..58be5f0 --- /dev/null +++ b/_datasets/2016/qld/city-of-gold-coast/city-of-gold-coast-open-data-spatial-datasets.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://data.goldcoast.opendata.arcgis.com/ +events: +- gold-coast +excerpt_separator: +gid: city-of-gold-coast-open-data-spatial-datasets +jurisdiction: qld +name: City of Gold Coast Open Data Spatial Datasets +organisation: city-of-gold-coast +title: City of Gold Coast Open Data Spatial Datasets +--- + +City of Gold Coast has over 90 open data spatial datasets whcih can be with downloaded or accessed drirectly through API's. \ No newline at end of file diff --git a/_datasets/2016/qld/moreton-bay-regional-council/moreton-bay-region-open-data-portal.md b/_datasets/2016/qld/moreton-bay-regional-council/moreton-bay-region-open-data-portal.md new file mode 100644 index 0000000..28700ac --- /dev/null +++ b/_datasets/2016/qld/moreton-bay-regional-council/moreton-bay-region-open-data-portal.md @@ -0,0 +1,18 @@ +--- +dataset_url: http://data.moretonbay.qld.gov.au +events: +- brisbane +- brisbane-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: moreton-bay-region-open-data-portal +jurisdiction: qld +name: Moreton Bay Region Open Data Portal +organisation: moreton-bay-regional-council +title: Moreton Bay Region Open Data Portal +--- + +Moreton Bay Region's pilot open data portal contains mostly spatial data sets covering some council assets (such as libraries, emergency locations, parks and other assets). Also included is Councils recently released planning scheme data. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/1893-womens-suffrage-petition.md b/_datasets/2016/qld/queensland-government/1893-womens-suffrage-petition.md new file mode 100644 index 0000000..0ff5ec6 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/1893-womens-suffrage-petition.md @@ -0,0 +1,27 @@ +--- +dataset_url: http://archives.govt.nz/has/open-data/1893-womens-suffrage-petition +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: 1893-womens-suffrage-petition +jurisdiction: qld +name: 1893 Women’s Suffrage Petition +organisation: Archives New Zealand +title: 1893 Women’s Suffrage Petition +mentors: + - lemm-ex +--- + +When Governor Glasgow signed the Electoral Bill on 19 September 1893, New Zealand became the first self-governing nation in the world where women had won the right to vote. The Bill was the outcome of years of meetings in towns and cities across the country, with women often travelling considerable distances to hear lectures and speeches, pass resolutions and sign petitions. A number of petitions were presented to both Houses of Parliament from the early 1880s till 1893. Only two of these historically important documents are known to have survived and both are preserved at Archives New Zealand. + + + +The 1893 Women's Suffrage Petition [Archives Ref:Le1 1893/7a] and this dataset contains the signatories given names/title, surname, given address, city/region and a notes field which for example may name a witness for those who signed as X because they were illiterate. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/assisted-immigration-1848-to-1912.md b/_datasets/2016/qld/queensland-government/assisted-immigration-1848-to-1912.md new file mode 100644 index 0000000..ba75b4b --- /dev/null +++ b/_datasets/2016/qld/queensland-government/assisted-immigration-1848-to-1912.md @@ -0,0 +1,27 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/assisted-immigration-1848-to-1912 +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: assisted-immigration-1848-to-1912 +jurisdiction: qld +name: Assisted immigration 1848 to 1912 +organisation: queensland-government +title: Assisted immigration 1848 to 1912 +mentors: + - lemm-ex +--- + +These indexes were created from the Registers of immigrant ships’ arrivals in Queensland ports as kept and used by the Immigration Department from 1848 to 1912. Read more about these [immigration registers](http://www.archives.qld.gov.au/Researchers/Indexes/Immigration/Pages/Immigration1848.aspx). + + + +Note: All the data and resources for this assisted immigration dataset have been updated (March 2016). \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/australian-bureau-of-statistics-datapacks.md b/_datasets/2016/qld/queensland-government/australian-bureau-of-statistics-datapacks.md new file mode 100644 index 0000000..d3d7df6 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/australian-bureau-of-statistics-datapacks.md @@ -0,0 +1,11 @@ +--- +dataset_url: http://www.abs.gov.au/websitedbs/censushome.nsf/home/datapacks?opendocument&navpos=250 +excerpt_separator: +gid: australian-bureau-of-statistics-datapacks +jurisdiction: qld +name: Australian Bureau of Statistics DataPacks +organisation: australian-bureau-of-statistics +title: Australian Bureau of Statistics DataPacks +--- + +Provides information on languages, population, ages, vehicles etc. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/australian-cancer-incidence-and-mortality.md b/_datasets/2016/qld/queensland-government/australian-cancer-incidence-and-mortality.md new file mode 100644 index 0000000..ab1832b --- /dev/null +++ b/_datasets/2016/qld/queensland-government/australian-cancer-incidence-and-mortality.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/australian-cancer-incidence-and-mortality +excerpt_separator: +gid: australian-cancer-incidence-and-mortality +jurisdiction: qld +name: Australian Cancer Incidence and Mortality +organisation: australian-institute-of-health-and-welfare +title: Australian Cancer Incidence and Mortality +--- + +Extracted in machine readable form from the AIHW Australian Cancer Incidence and Mortality books + + + +These files contain summary statistics by age, year and sex for major cancers. + +Users are advised to read the Data Quality Statement for the 2010 version of the ACD. In particular, please note that the 2010 data contained in the ACIM books include estimates for NSW and ACT because the real data are not yet available. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/brisbane-hospital-registers-of-deaths-1933-to-1963.md b/_datasets/2016/qld/queensland-government/brisbane-hospital-registers-of-deaths-1933-to-1963.md new file mode 100644 index 0000000..8def567 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/brisbane-hospital-registers-of-deaths-1933-to-1963.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/brisbane-hospital-registers-of-deaths-1933-to-1963 +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: brisbane-hospital-registers-of-deaths-1933-to-1963 +jurisdiction: qld +name: Brisbane Hospital registers of deaths 1933 to 1963 +organisation: queensland-government +title: Brisbane Hospital registers of deaths 1933 to 1963 +mentors: + - lemm-ex +--- + +This index was compiled from the registers of patient deaths as primarily created by the Royal Brisbane and Women’s Hospital between 1933 and 1963. Read more about these [hospital registers](http://www.archives.qld.gov.au/Researchers/Indexes/Hospital/Pages/BrisbaneHospitalDeaths1933.aspx). Note, this index has been updated to include the years 1953 to 1963. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/business-discount-directory.md b/_datasets/2016/qld/queensland-government/business-discount-directory.md new file mode 100644 index 0000000..7eb58a4 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/business-discount-directory.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/business-discount-directory +excerpt_separator: +gid: business-discount-directory +jurisdiction: qld +name: Business Discount Directory +organisation: queensland-government +title: Business Discount Directory +--- + +Businesses registered in the Carer and/or the Seniors Business Discount Card scheme which provide discounts or offers to holders of a Seniors Card, a Seniors Card +go, a Seniors Business Discount Card and/or a Carer Business Discount Card and venues participating in the Companion Card scheme. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/cardholders-department-of-communities,-child-safety-and-disability-services.md b/_datasets/2016/qld/queensland-government/cardholders-department-of-communities,-child-safety-and-disability-services.md new file mode 100644 index 0000000..b30a08d --- /dev/null +++ b/_datasets/2016/qld/queensland-government/cardholders-department-of-communities,-child-safety-and-disability-services.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/cardholders-department-of-communities-child-safety-and-disability-services +excerpt_separator: +gid: cardholders-department-of-communities,-child-safety-and-disability-services +jurisdiction: qld +name: Cardholders Department of Communities, Child Safety and Disability Services +organisation: queensland-government +title: Cardholders Department of Communities, Child Safety and Disability Services +--- + +Department of Communities, Child Safety and Disability Services Cardholders. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/consistent-climate-scenarios.md b/_datasets/2016/qld/queensland-government/consistent-climate-scenarios.md new file mode 100644 index 0000000..3e063fc --- /dev/null +++ b/_datasets/2016/qld/queensland-government/consistent-climate-scenarios.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/consistent-climate-scenarios +excerpt_separator: +gid: consistent-climate-scenarios +jurisdiction: qld +name: Consistent Climate Scenarios +organisation: queensland-government +title: Consistent Climate Scenarios +--- + +Consistent Climate Scenarios (CCS) data are daily climate projections data for Australian locations for years centred on 2030 and 2050. The data have been developed by adjusting SILO historical climate data according to AR4 based climate projections for 2030 and 2050. Since mid-2012, CCS data have been freely provided to registered users through a portal on the Queensland Government's Long Paddock website. CCS data are unique, in that they: - maintain 'weather-like' properties for a range of climate variables (rainfall, evaporation, minimum and maximum temperature, solar radiation and vapour pressure deficit), - are available for more than 4500 climate stations across Australia, or for individual grid points on a 0.05 degree (approximately 5 km) grid across Australia and - are provided in 'ready to use' formats, suitable for input to biophysical models (such as GRASP and APSIM). The development of the CCS Data was funded by the Commonwealth Department of Agriculture, Fisheries and Forestry (DAFF) through its Australia's Farming Future Climate Change Research Program. While the CCS web portal currently provides AR4 based projections data, AR5 based projections data may be included at a future date. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/convict-indexes.md b/_datasets/2016/qld/queensland-government/convict-indexes.md new file mode 100644 index 0000000..d45c833 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/convict-indexes.md @@ -0,0 +1,29 @@ +--- +dataset_url: http://data.nsw.gov.au/data/dataset/acdd01d0-d700-465c-a183-735c4f139ca0 +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: convict-indexes +jurisdiction: qld +name: Convict Indexes +organisation: queensland-government +title: Convict Indexes +mentors: + - lemm-ex +--- + +Between 1788 and 1842 about 80,000 convicts were transported to New South Wales. Of these, about 85% were men and 15% were women. Almost two thirds of convicts were English (along with a small number of Scottish and Welsh), with the Irish making up the remaining one third. + + + +Convicts were usually given sentences of transportation for seven, 14 years or life. Some convicts in the 1830s received ten-year sentences. About one quarter of the convicts were sentenced to ‘the term of their natural lives’, and a proportion of these had reprieves from the death sentence. + +These seven indexes contain around 140,000 entries in total. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/current-bushfire-incidents.md b/_datasets/2016/qld/queensland-government/current-bushfire-incidents.md new file mode 100644 index 0000000..24c03f8 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/current-bushfire-incidents.md @@ -0,0 +1,10 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/queensland-fire-and-rescue-current-bushfire-incidents +excerpt_separator: +gid: current-bushfire-incidents +jurisdiction: qld +name: Current bushfire incidents +organisation: queensland-government +title: Current bushfire incidents +--- + diff --git "a/_datasets/2016/qld/queensland-government/dsiti\342\200\224queensland-government-investment-portal-(qgip).md" "b/_datasets/2016/qld/queensland-government/dsiti\342\200\224queensland-government-investment-portal-(qgip).md" new file mode 100644 index 0000000..900719a --- /dev/null +++ "b/_datasets/2016/qld/queensland-government/dsiti\342\200\224queensland-government-investment-portal-(qgip).md" @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/dsiti-queensland-government-investment-portal-qgip +excerpt_separator: +gid: dsiti—queensland-government-investment-portal-(qgip) +jurisdiction: qld +name: DSITI—Queensland Government Investment Portal (QGIP) +organisation: queensland-government +title: DSITI—Queensland Government Investment Portal (QGIP) +--- + +Records of investments in front line service delivery including expenditure records, available funding and data for local government areas. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/dss-payment-demographic-data.md b/_datasets/2016/qld/queensland-government/dss-payment-demographic-data.md new file mode 100644 index 0000000..7f12347 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/dss-payment-demographic-data.md @@ -0,0 +1,57 @@ +--- +dataset_url: https://data.gov.au/dataset/dss-payment-demographic-data +excerpt_separator: +gid: dss-payment-demographic-data +jurisdiction: qld +name: DSS Payment Demographic Data +organisation: Department of Social Services +title: DSS Payment Demographic Data +--- + +>The March 2016 Quarter DSS Payment Demographic data set is made up of: + + + +>Selected DSS payment data by + +* Geography: state/territory; electorate; postcode , LGA and SA2 (for 2015 onwards) + +* Demographic: age, sex and Indigenous/non-indigenous + +* Duration on Payment (Working Age & Pensions) + +* Duration on Income Support (Working Age & DSP) + +* Rate (Working Age & Pensions) + +* Earnings (Working Age & Pensions) + +* Age Pension assets data + +* Newstart and Youth Allowance (other) Principal Carers + +* Activity Tested Recipients by Partial Capacity to Work (NSA,PPS & YAO) + +* Exits within 3 months (NSA, PP, Sickness & YA) + +* Exits within 12 months (NSA, PP, Sickness & YA) + +* DSP by medical condition + +* Care Receiver by medical conditions + +From March 2016 three machine readable files containing the geographic breakdowns have also been published for use in National Map, links to these datasets are below: + +• SA2 https://data.gov.au/dataset/dss-payments-by-statistical-area-2 + +• Commonwealth Electoral Division https://data.gov.au/dataset/dss-payments-by-commonwealth-electoral-division + +• Local Government Area https://data.gov.au/dataset/dss-payments-by-local-government-area + +> Pre June 2014 Quarter Data contains: + +>Selected DSS payment data by + +* Geography: state/territory; electorate; postcode and LGA + +* Demographic: age, sex and Indigenous/non-indigenous \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/environmental-characteristics-series.md b/_datasets/2016/qld/queensland-government/environmental-characteristics-series.md new file mode 100644 index 0000000..6f2f6d0 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/environmental-characteristics-series.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/environmental-characteristics-series +excerpt_separator: +gid: environmental-characteristics-series +jurisdiction: qld +name: Environmental characteristics series +organisation: queensland-government +title: Environmental characteristics series +--- + +This series is based on information extracted from the Soil and Land Information (SALI) database and relates to inherent properties of the landscape which may impact on surface water quality. \ No newline at end of file diff --git "a/_datasets/2016/qld/queensland-government/general-transit-feed-specification-(gtfs)\342\200\224qconnect.md" "b/_datasets/2016/qld/queensland-government/general-transit-feed-specification-(gtfs)\342\200\224qconnect.md" new file mode 100644 index 0000000..4d101c6 --- /dev/null +++ "b/_datasets/2016/qld/queensland-government/general-transit-feed-specification-(gtfs)\342\200\224qconnect.md" @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/general-transit-feed-specification-gtfs-qconnect +excerpt_separator: +gid: general-transit-feed-specification-(gtfs)—qconnect +jurisdiction: qld +name: General transit feed specification (GTFS)—qconnect +organisation: queensland-government +title: General transit feed specification (GTFS)—qconnect +--- + +Timetable data and stop locations for all available TransLink divison qconnect urban bus services. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/monthly-supervised-driving-experience-books-approved.md b/_datasets/2016/qld/queensland-government/monthly-supervised-driving-experience-books-approved.md new file mode 100644 index 0000000..3137a82 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/monthly-supervised-driving-experience-books-approved.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/monthly-supervised-driving-experience-books-approved +excerpt_separator: +gid: monthly-supervised-driving-experience-books-approved +jurisdiction: qld +name: Monthly Supervised Driving Experience Books Approved +organisation: queensland-government +title: Monthly Supervised Driving Experience Books Approved +--- + +Monthly number of approved supervised driving experience books (Learner Driver Logbooks.) \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/public-health-funeral-data.md b/_datasets/2016/qld/queensland-government/public-health-funeral-data.md new file mode 100644 index 0000000..f13fbac --- /dev/null +++ b/_datasets/2016/qld/queensland-government/public-health-funeral-data.md @@ -0,0 +1,35 @@ +--- +dataset_url: https://data.gov.uk/dataset/public-health-funeral-data +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: public-health-funeral-data +jurisdiction: qld +name: Public health funeral data +organisation: Leeds City Council +title: Public health funeral data +mentors: + - lemm-ex +--- + +

Information on funerals organised by Leeds City Council due to circumstances such as no traceable next of kin, next of kin unable or prepared to organise or no-one able/available to fund the funeral.

+ + + +

DATASET GUIDANCE

+ +

Further Information

+

For more information on public health funerals visit: http://www.leeds.gov.uk/residents/Pages/Public-health-funerals.aspx

\ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/queensland-emergency-departments.md b/_datasets/2016/qld/queensland-government/queensland-emergency-departments.md new file mode 100644 index 0000000..d51fbcc --- /dev/null +++ b/_datasets/2016/qld/queensland-government/queensland-emergency-departments.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/queensland-emergency-departments +excerpt_separator: +gid: queensland-emergency-departments +jurisdiction: qld +name: Queensland emergency departments +organisation: queensland-government +title: Queensland emergency departments +--- + +A list of Queensland emergency departments by facility name \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/queensland-flood-mapping-program-2015-series.md b/_datasets/2016/qld/queensland-government/queensland-flood-mapping-program-2015-series.md new file mode 100644 index 0000000..c7cf1c4 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/queensland-flood-mapping-program-2015-series.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/queensland-flood-mapping-program-2015-series +excerpt_separator: +gid: queensland-flood-mapping-program-2015-series +jurisdiction: qld +name: Queensland Flood Mapping Program 2015 series +organisation: queensland-government +title: Queensland Flood Mapping Program 2015 series +--- + +The Queensland Flood Mapping Program is part of the State Government's response to the Queensland Floods Commission of Inquiry. It was completed by the Queensland Reconstruction Authority in 2012-2013 to undertake flood investigations for high risk flood prone townships across the State. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/queensland-resilience-index.md b/_datasets/2016/qld/queensland-government/queensland-resilience-index.md new file mode 100644 index 0000000..b636413 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/queensland-resilience-index.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/queensland-resilience-index +excerpt_separator: +gid: queensland-resilience-index +jurisdiction: qld +name: Queensland Resilience Index +organisation: queensland-government +title: Queensland Resilience Index +--- + +The Queensland Resilience Index measures the recognition, recall and actions taken by people in relation to the Get Ready Queensland campaign and gives a measure of public disaster preparedness. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/registers-of-immigrants-1882-to-1938.md b/_datasets/2016/qld/queensland-government/registers-of-immigrants-1882-to-1938.md new file mode 100644 index 0000000..4dbf22b --- /dev/null +++ b/_datasets/2016/qld/queensland-government/registers-of-immigrants-1882-to-1938.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/registers-of-immigrants-1882-to-1938 +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: registers-of-immigrants-1882-to-1938 +jurisdiction: qld +name: Registers of immigrants 1882 to 1938 +organisation: queensland-government +title: Registers of immigrants 1882 to 1938 +mentors: + - lemm-ex +--- + +This index was compiled from a selection of registers recording immigrant arrivals at various Queensland ports, as created by the Immigration Department for the period 1882 to 1938. Read more about these [registers of immigrants](http://www.archives.qld.gov.au/Researchers/Indexes/Immigration/Pages/Registers-of-immigrants,-1882-1938.aspx). \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/road-crash-locations---queensland.md b/_datasets/2016/qld/queensland-government/road-crash-locations---queensland.md new file mode 100644 index 0000000..552d22a --- /dev/null +++ b/_datasets/2016/qld/queensland-government/road-crash-locations---queensland.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/road-crash-locations-queensland +excerpt_separator: +gid: road-crash-locations---queensland +jurisdiction: qld +name: Road crash locations - Queensland +organisation: queensland-government +title: Road crash locations - Queensland +--- + +This dataset shows the position of vehicular crash incidents in Queensland. This includes fatalities, injuries and vehicular damage. The point of truth for this dataset is the Queensland government open data website at,https://data.qld.gov.au/dataset/crash-data-from-queensland-roads \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/rural-properties---queensland.md b/_datasets/2016/qld/queensland-government/rural-properties---queensland.md new file mode 100644 index 0000000..fc70685 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/rural-properties---queensland.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/rural-properties-queensland +excerpt_separator: +gid: rural-properties---queensland +jurisdiction: qld +name: Rural properties - Queensland +organisation: queensland-government +title: Rural properties - Queensland +--- + +This dataset shows the extent of named Rural Properties (horticultural or agricultural farms) within the State of Queensland. The data has been compiled from numerous sources to produce a state wide coverage with the boundaries aligned to the Queensland Digital Cadastral Database (DCDB). Attributes within the data describe the date of extraction from the DCDB and the source for the extent and name of the property. Source data has been obtained from:- Queensland Department of Agriculture, Fisheries and Forestry- Queensland Digital Cadastral Database- Queensland Rural Valuations Project- Queensland Government Field Checking- Geoscience Australia Field Checking- Advice from property owners and departmental regional staff \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/science-capability-directory.md b/_datasets/2016/qld/queensland-government/science-capability-directory.md new file mode 100644 index 0000000..697f006 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/science-capability-directory.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/science-capability-directory +excerpt_separator: +gid: science-capability-directory +jurisdiction: qld +name: Science capability directory +organisation: queensland-government +title: Science capability directory +--- + +The [Queensland Science Capability Directory](http://www.qld.gov.au/sciencedirectory) provides information on the state’s key research capabilities, science expertise, and collaboration and investment opportunities. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/state-library-of-queensland---british-convict-transportation-registers.md b/_datasets/2016/qld/queensland-government/state-library-of-queensland---british-convict-transportation-registers.md new file mode 100644 index 0000000..ab88fe4 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/state-library-of-queensland---british-convict-transportation-registers.md @@ -0,0 +1,29 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/british-convict-registers +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: state-library-of-queensland---british-convict-transportation-registers +jurisdiction: qld +name: State Library of Queensland - British convict transportation registers +organisation: queensland-government +title: State Library of Queensland - British convict transportation registers +mentors: + - lemm-ex +--- + +This dataset contains details for convicts transported to Australia in the 18th and 19th centuries including name of convict, including any known aliases, place of trial, term of years, name of ship and date of departure, place of arrival. Over 123,000 out of the estimated 160,000 convicts transported to Australia are recorded in this database. These include prisoners sent to New South Wales, Van Diemens Land (Tasmania), Moreton Bay (Brisbane), Port Phillip, Western Australia and Norfolk Island. Also recorded are some ships which were bound for Gibraltar. The records cover the period of 1787 to 1867. + + + +Entries in the British Convict transportation registers 1787-1867 database compiled by State Library of Queensland from British Home Office records. + +To search for a particular convict visit onesearch.slq.qld.gov.au. \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/tasmanian-convicts---permission-to-marry-(1829-1857)..md b/_datasets/2016/qld/queensland-government/tasmanian-convicts---permission-to-marry-(1829-1857)..md new file mode 100644 index 0000000..d7a5ddf --- /dev/null +++ b/_datasets/2016/qld/queensland-government/tasmanian-convicts---permission-to-marry-(1829-1857)..md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.gov.au/dataset/19077659-b4a1-4581-977d-40d6c922e71c +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: tasmanian-convicts---permission-to-marry-(1829-1857). +jurisdiction: qld +name: Tasmanian Convicts - permission to marry (1829-1857). +organisation: queensland-government +title: Tasmanian Convicts - permission to marry (1829-1857). +mentors: + - lemm-ex +--- + +Convicts applying to marry free people or other convicts. Over 280,000 records (as at 14/4/2016). Available via the [Tasmanian Names Index](https://linctas.ent.sirsidynix.net.au/client/en_AU/names/search/results?qf=NI_INDEX%09Record+type%09Marriage+Permissions%09Marriage+Permissions). \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/tasmanian-deaths-(1803-1933).md b/_datasets/2016/qld/queensland-government/tasmanian-deaths-(1803-1933).md new file mode 100644 index 0000000..eb011b2 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/tasmanian-deaths-(1803-1933).md @@ -0,0 +1,27 @@ +--- +dataset_url: https://data.gov.au/dataset/tasmanian-deaths-1803-1933 +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: tasmanian-deaths-(1803-1933) +jurisdiction: qld +name: Tasmanian Deaths (1803-1933) +organisation: queensland-government +title: Tasmanian Deaths (1803-1933) +mentors: + - lemm-ex +--- + +People who died in Tasmania including some burial records collected by the Registrar General (1900-1933 burials only). Available via the [Tasmanian Names Index](https://linctas.ent.sirsidynix.net.au/client/en_AU/names/search/results?qf=NI_INDEX%09Record+type%09Deaths%09Deaths). + + + +Over 960,00 records (as at 14/4/2016) \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/toowoomba-prison-records-1864-to-1906.md b/_datasets/2016/qld/queensland-government/toowoomba-prison-records-1864-to-1906.md new file mode 100644 index 0000000..9291d24 --- /dev/null +++ b/_datasets/2016/qld/queensland-government/toowoomba-prison-records-1864-to-1906.md @@ -0,0 +1,23 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/indextoprisonerstriedtoowoomba1864-1903-csv +events: +- brisbane +- brisbane-maker +- brisbane-youth +- fnq +- rockhampton-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: toowoomba-prison-records-1864-to-1906 +jurisdiction: qld +name: Toowoomba prison records 1864 to 1906 +organisation: queensland-government +title: Toowoomba prison records 1864 to 1906 +mentors: + - lemm-ex +--- + +These indexes were compiled from Toowoomba prison records including Court book, Discharge book, Prisoners admitted and Register of Female Prisoners. These records were created by HM Goal (later Prison) Toowoomba from 1864 to 1906. Read more about these [Toowoomba prison records](http://www.archives.qld.gov.au/Researchers/Indexes/Convicts/Pages/Toowoomba.aspx). \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-government/underlying-cause-of-death,-selected-causes,-queensland.md b/_datasets/2016/qld/queensland-government/underlying-cause-of-death,-selected-causes,-queensland.md new file mode 100644 index 0000000..eb2a96e --- /dev/null +++ b/_datasets/2016/qld/queensland-government/underlying-cause-of-death,-selected-causes,-queensland.md @@ -0,0 +1,11 @@ +--- +dataset_url: https://data.qld.gov.au/dataset/underlying-cause-death-qld +excerpt_separator: +gid: underlying-cause-of-death,-selected-causes,-queensland +jurisdiction: qld +name: Underlying cause of death, selected causes, Queensland +organisation: queensland-government +title: Underlying cause of death, selected causes, Queensland +--- + +Underlying cause of death, selected causes, Queensland \ No newline at end of file diff --git a/_datasets/2016/qld/queensland-university-of-technology/qut-research-data-finder.md b/_datasets/2016/qld/queensland-university-of-technology/qut-research-data-finder.md new file mode 100644 index 0000000..06386af --- /dev/null +++ b/_datasets/2016/qld/queensland-university-of-technology/qut-research-data-finder.md @@ -0,0 +1,24 @@ +--- +dataset_url: https://researchdatafinder.qut.edu.au/ +events: +- brisbane +- brisbane-maker +- ipswich-digital-city +- gold-coast +- toowoomba +- sunshine-coast +excerpt_separator: +gid: qut-research-data-finder +jurisdiction: qld +name: QUT Research Data Finder +organisation: queensland-university-of-technology +title: QUT Research Data Finder +--- + +Research Data Finder is QUT's discovery service for research data created or collected by QUT researchers. Designed to promote the visibility of QUT research datasets, Research Data Finder provides descriptions about shareable, reusable datasets available via open or mediated access. + + + +Interlinked web pages explicitly connect descriptive information about data collections, researchers or research groups, publications and projects. Users can link from a dataset description to a profile of one of its owners; from there, research projects that the data owner is a participant in can also be found. + +Mentor: "Katherina Drinkuth (Qld GovHack State Manager) \ No newline at end of file diff --git a/_datasets/2016/qld/unity-water/hydrants-layers.md b/_datasets/2016/qld/unity-water/hydrants-layers.md new file mode 100644 index 0000000..c08fb64 --- /dev/null +++ b/_datasets/2016/qld/unity-water/hydrants-layers.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://data.unitywater.opendata.arcgis.com/ +events: +- sunshine-coast +excerpt_separator: +gid: hydrants-layers +jurisdiction: qld +name: Hydrants Layers +organisation: unity-water +title: Hydrants Layers +--- + +A layer of all Unity Water hyrdrants. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/biodiversity-data---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/biodiversity-data---greater-geelong.md new file mode 100644 index 0000000..a3d841e --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/biodiversity-data---greater-geelong.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/geelong-biodiversity-data +events: +- geelong +excerpt_separator: +gid: biodiversity-data---greater-geelong +jurisdiction: vic +name: Biodiversity Data - Greater Geelong +organisation: city-of-greater-geelong +title: Biodiversity Data - Greater Geelong +--- + +Information about different biosite areas across the Geelong region. Each site has unique flora and fauna associated plus other relevant attributes. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/built-environment-inventory---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/built-environment-inventory---greater-geelong.md new file mode 100644 index 0000000..50f39bb --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/built-environment-inventory---greater-geelong.md @@ -0,0 +1,19 @@ +--- +dataset_url: https://data.gov.au/dataset/geelong-built-environment-inventory +events: +- geelong +excerpt_separator: +gid: built-environment-inventory---greater-geelong +jurisdiction: vic +name: Built Environment Inventory - Greater Geelong +organisation: city-of-greater-geelong +title: Built Environment Inventory - Greater Geelong +--- + +The Built Environment Inventory data show the accessibility of lifestyle amenities and potential health pitfalls. + + + +They are the result of a research project initiated by Healthy Together Geelong. The data was calculated using a sophisticated, proprietary method by Community Indicators Victoria, McCaughey Centre: VicHealth Centre for the Promotion of Mental Health and Community Wellbeing, Melbourne School of Population Health, University of Melbourne in May 2014. + +Distances to many dozens of features as disparate as greengrocers, bus stops, tobacco sellers, and rail trails were calculated from meshblocks of mostly residential populations. These measures were then aggregated and grouped at the neighbourhood level. The table Geelong_BuiltEnvLookup.csv describes the variables and their meanings; these variables make up the GIS file and are also in Geelong_BuiltEnv.csv. In all there are 95 measures recorded for each suburb. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/employment-by-sector---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/employment-by-sector---greater-geelong.md new file mode 100644 index 0000000..a60ebcd --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/employment-by-sector---greater-geelong.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/geelong-employment-by-sector +events: +- geelong +excerpt_separator: +gid: employment-by-sector---greater-geelong +jurisdiction: vic +name: Employment by Sector - Greater Geelong +organisation: city-of-greater-geelong +title: Employment by Sector - Greater Geelong +--- + +Number of jobs per industry sector and percentage of total sector. A comparison between regions: Greater Geelong, G21, Victoria. + + + +Compiled from: ABS 2011 Census JTW Employment ABS 2009/2010 National Input Output Tables ABS June 2014 Gross State Product \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/flood-extent---city-of-greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/flood-extent---city-of-greater-geelong.md new file mode 100644 index 0000000..3ff82a1 --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/flood-extent---city-of-greater-geelong.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/flood-extent-city-of-greater-geelong +events: +- geelong +excerpt_separator: +gid: flood-extent---city-of-greater-geelong +jurisdiction: vic +name: Flood Extent - City of Greater Geelong +organisation: city-of-greater-geelong +title: Flood Extent - City of Greater Geelong +--- + +'Flood Extent' shows the extent of the largest recorded historical flood event or estimated 1% Annual Exceedance Probability (AEP) design flood event. Quality of data varies from high quality with floodmapping from detailed flood studies (eg Barwon River) to low quality where flood extent has been estimated subjectively from geological maps (eg Hovells Creek upstream of Lara). + + + +The areas shown are considered to be designated as being liable to flooding in accordance with Regulation 802 of the Building Regulations 2006. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/geelong-thermal-imagery.md b/_datasets/2016/vic/city-of-greater-geelong/geelong-thermal-imagery.md new file mode 100644 index 0000000..df08b00 --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/geelong-thermal-imagery.md @@ -0,0 +1,26 @@ +--- +dataset_url: http://www.geelongaustralia.com.au/data/item/thermal-imagery-city-of-greater-geelong.aspx +events: +- geelong +excerpt_separator: +gid: geelong-thermal-imagery +jurisdiction: vic +name: Geelong Thermal Imagery +organisation: city-of-greater-geelong +title: Geelong Thermal Imagery +--- + +Thermal Imagery was captured in Jan 2013, the data displays an anomaly in that general surface temperatures increase from west to east. We are looking to correct inconsistencies in the Thermal Imagery conditions dataset and produce a more accurate dataset for future publication. + + + +Spatial accuracy of at least + or - 2.0m between frames/tiles, + or -5m against +supplied cadastre for mosaic, across 95% of the project area + +The A615 camera acquires data on a 640x480 pixel sensing array of long wave (8 to 12 microns). + +Pixels are meant to attribute to precision of at least 0.05 degrees Celsius (+or -2%) + +The Look Up Table and Equation attempt by the City of Greater Geelong can also be found in the dataset. + +Although all due care has been taken to ensure that these data are correct, We have identified this dataset is not and no warranty is expressed or implied by the City of Greater Geelong in their use. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/population-projections---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/population-projections---greater-geelong.md new file mode 100644 index 0000000..d6b0255 --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/population-projections---greater-geelong.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/geelong-population-projections +events: +- geelong +excerpt_separator: +gid: population-projections---greater-geelong +jurisdiction: vic +name: Population Projections - Greater Geelong +organisation: city-of-greater-geelong +title: Population Projections - Greater Geelong +--- + +Forecasts of Geelong's population growth for the next 50 years. The data shows a breakdown of both resident and private dwelling information and breaks this down by suburb. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/powercor-public-lights---city-of-greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/powercor-public-lights---city-of-greater-geelong.md new file mode 100644 index 0000000..ebe4d6a --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/powercor-public-lights---city-of-greater-geelong.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/powercor-public-lights-city-of-greater-geelong +events: +- geelong +excerpt_separator: +gid: powercor-public-lights---city-of-greater-geelong +jurisdiction: vic +name: Powercor Public Lights - City of Greater Geelong +organisation: city-of-greater-geelong +title: Powercor Public Lights - City of Greater Geelong +--- + +The Powercor Public Lights show over 24,000 lighting locations, Watts Ratings and Lamp Type for the City of Greater Geelong. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/tourism-value-added---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/tourism-value-added---greater-geelong.md new file mode 100644 index 0000000..219d561 --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/tourism-value-added---greater-geelong.md @@ -0,0 +1,17 @@ +--- +dataset_url: https://data.gov.au/dataset/tourism-value-added +events: +- geelong +excerpt_separator: +gid: tourism-value-added---greater-geelong +jurisdiction: vic +name: Tourism Value Added - Greater Geelong +organisation: city-of-greater-geelong +title: Tourism Value Added - Greater Geelong +--- + +A comparison between regions: Greater Geelong, G21, Victoria. + + + +Compiled from: ABS 2011 Census JTW Employment ABS 2009/2010 National Input Output Tables ABS June 2014 Gross State Product. \ No newline at end of file diff --git a/_datasets/2016/vic/city-of-greater-geelong/trees---greater-geelong.md b/_datasets/2016/vic/city-of-greater-geelong/trees---greater-geelong.md new file mode 100644 index 0000000..895c21d --- /dev/null +++ b/_datasets/2016/vic/city-of-greater-geelong/trees---greater-geelong.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/geelong-trees +events: +- geelong +excerpt_separator: +gid: trees---greater-geelong +jurisdiction: vic +name: Trees - Greater Geelong +organisation: city-of-greater-geelong +title: Trees - Greater Geelong +--- + +Points describe the locations of street and park trees in the City of Greater Geelong. Attributes describe the tree species, age, size, and health. \ No newline at end of file diff --git a/_datasets/2016/vic/geelong-regional-libraries/grlc-library-collection-by-branch---city-of-greater-geelong.md b/_datasets/2016/vic/geelong-regional-libraries/grlc-library-collection-by-branch---city-of-greater-geelong.md new file mode 100644 index 0000000..28eb8e6 --- /dev/null +++ b/_datasets/2016/vic/geelong-regional-libraries/grlc-library-collection-by-branch---city-of-greater-geelong.md @@ -0,0 +1,13 @@ +--- +dataset_url: https://data.gov.au/dataset/grlc-library-collection-by-branch-city-of-greater-geelong +events: +- geelong +excerpt_separator: +gid: grlc-library-collection-by-branch---city-of-greater-geelong +jurisdiction: vic +name: GRLC library Collection by branch - City of Greater Geelong +organisation: geelong-regional-libraries +title: GRLC library Collection by branch - City of Greater Geelong +--- + +This dataset lists number of items available in each library branch \ No newline at end of file diff --git a/_datasets/2016/wa/city-of-perth/city-of-perth-access-ways-and-laneways.md b/_datasets/2016/wa/city-of-perth/city-of-perth-access-ways-and-laneways.md new file mode 100644 index 0000000..e1c27c8 --- /dev/null +++ b/_datasets/2016/wa/city-of-perth/city-of-perth-access-ways-and-laneways.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/city-of-perth-access-ways-and-laneways +events: +- perth +- geraldton +excerpt_separator: +gid: city-of-perth-access-ways-and-laneways +jurisdiction: wa +name: City of Perth Access Ways and Laneways +organisation: city-of-perth +title: City of Perth Access Ways and Laneways +--- + diff --git a/_datasets/2016/wa/city-of-perth/city-of-perth-building-outlines-data.md b/_datasets/2016/wa/city-of-perth/city-of-perth-building-outlines-data.md new file mode 100644 index 0000000..e55b895 --- /dev/null +++ b/_datasets/2016/wa/city-of-perth/city-of-perth-building-outlines-data.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/city-of-perth-building-outlines-data +events: +- perth +- geraldton +excerpt_separator: +gid: city-of-perth-building-outlines-data +jurisdiction: wa +name: City of Perth Building Outlines Data +organisation: city-of-perth +title: City of Perth Building Outlines Data +--- + diff --git a/_datasets/2016/wa/city-of-perth/city-of-perth-security-camera-data.md b/_datasets/2016/wa/city-of-perth/city-of-perth-security-camera-data.md new file mode 100644 index 0000000..be2d235 --- /dev/null +++ b/_datasets/2016/wa/city-of-perth/city-of-perth-security-camera-data.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/city-of-perth-security-camera-data +events: +- perth +- geraldton +excerpt_separator: +gid: city-of-perth-security-camera-data +jurisdiction: wa +name: City of Perth Security Camera Data +organisation: city-of-perth +title: City of Perth Security Camera Data +--- + diff --git a/_datasets/2016/wa/city-of-perth/city-of-perth-street-furniture-data.md b/_datasets/2016/wa/city-of-perth/city-of-perth-street-furniture-data.md new file mode 100644 index 0000000..2913ff1 --- /dev/null +++ b/_datasets/2016/wa/city-of-perth/city-of-perth-street-furniture-data.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/city-of-perth-street-furniture-data +events: +- perth +- geraldton +excerpt_separator: +gid: city-of-perth-street-furniture-data +jurisdiction: wa +name: City of Perth Street Furniture Data +organisation: city-of-perth +title: City of Perth Street Furniture Data +--- + diff --git a/_datasets/2016/wa/city-of-perth/city-of-perth-street-lights-data.md b/_datasets/2016/wa/city-of-perth/city-of-perth-street-lights-data.md new file mode 100644 index 0000000..91c9dff --- /dev/null +++ b/_datasets/2016/wa/city-of-perth/city-of-perth-street-lights-data.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/city-of-perth-street-lights-data +events: +- perth +- geraldton +excerpt_separator: +gid: city-of-perth-street-lights-data +jurisdiction: wa +name: City of Perth Street Lights data +organisation: city-of-perth +title: City of Perth Street Lights data +--- + diff --git a/_datasets/2016/wa/department-of-agriculture-and-food-wa/oil-mallee-stems-planted-per-shire.md b/_datasets/2016/wa/department-of-agriculture-and-food-wa/oil-mallee-stems-planted-per-shire.md new file mode 100644 index 0000000..969f315 --- /dev/null +++ b/_datasets/2016/wa/department-of-agriculture-and-food-wa/oil-mallee-stems-planted-per-shire.md @@ -0,0 +1,14 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/oil-mallee-stems-planted-per-shire +events: +- perth +- geraldton +excerpt_separator: +gid: oil-mallee-stems-planted-per-shire +jurisdiction: wa +name: Oil Mallee stems planted per shire +organisation: Department of Agriculture and Food WA +title: Oil Mallee stems planted per shire +--- + +Data summarises numbers of stems of Oil Mallees planted per shire. Oil Mallee data provided by the Oil Mallee Association of Australia (OMA). \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-fisheries/shark-hazard-api.md b/_datasets/2016/wa/department-of-fisheries/shark-hazard-api.md new file mode 100644 index 0000000..328fbb4 --- /dev/null +++ b/_datasets/2016/wa/department-of-fisheries/shark-hazard-api.md @@ -0,0 +1,22 @@ +--- +dataset_url: http://api.fish.wa.gov.au/webapi +events: +- perth +- geraldton +excerpt_separator: +gid: shark-hazard-api +jurisdiction: wa +name: Shark Hazard API +organisation: wa-department-of-fisheries +title: Shark Hazard API +--- + +Shark hazard information provided in Western Australia. Consists of; + + + +- Reported shark sightings. These are all shark sightings reported to the Water Police Coordination Centre. In Western Australia the Water Police Coordination Centre is the single channel for reporting all shark sightings from lifeguards, government agencies, or the public. +- Tagged shark detections. These are notifications triggered when a shark fitted with an acoustic transmitter (also known as a tag) swims within 500m of a satellite-linked receiver. There are 25 satellite linked receivers in waters across the state. +- Any alerts issued when there is an increased risk of encountering a shark due to an ongoing environmental condition, such as the presence of a whale carcass in shallow waters or high density of schooling fish. + +Reported shark sightings and tagged shark detections are provided as aggregated data for GovHack, and alerts are provided as an .xls file. \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-health/epi-health-status.md b/_datasets/2016/wa/department-of-health/epi-health-status.md new file mode 100644 index 0000000..97e583e --- /dev/null +++ b/_datasets/2016/wa/department-of-health/epi-health-status.md @@ -0,0 +1,14 @@ +--- +dataset_url: https://data.gov.au/dataset/health-status-data-for-western-australia +events: +- perth +- geraldton +excerpt_separator: +gid: epi-health-status +jurisdiction: wa +name: Health status data for Western Australia +organisation: wa_dept_health +title: Health status data for Western Australia +--- + +Summary percentages and age-specific birth data, age-standardised hospitalisation rates, immunisation, coverage, cancer incidence and risk factor prevalence data. diff --git a/_datasets/2016/wa/department-of-housing/dwelling-commencements.md b/_datasets/2016/wa/department-of-housing/dwelling-commencements.md new file mode 100644 index 0000000..91752a8 --- /dev/null +++ b/_datasets/2016/wa/department-of-housing/dwelling-commencements.md @@ -0,0 +1,16 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/dwelling-commencements +events: +- perth +- geraldton +excerpt_separator: +gid: dwelling-commencements +jurisdiction: wa +name: Dwelling Commencements +organisation: wa-housing-authority +title: Dwelling Commencements +mentors: + - julie-considine +--- + +Building Activity, Customised Table Number of Dwelling Units Commenced (Original Series), by Type of Work, Sector of Ownership and Type of Building Reference period: Quarters Sept 2011 to June 2015, Financial Years 2011/12 to 2014/15, inclusive. \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-housing/households-and-risk-of-homelessness-post-retirement.md b/_datasets/2016/wa/department-of-housing/households-and-risk-of-homelessness-post-retirement.md new file mode 100644 index 0000000..be1ed1b --- /dev/null +++ b/_datasets/2016/wa/department-of-housing/households-and-risk-of-homelessness-post-retirement.md @@ -0,0 +1,23 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/households-and-risk-of-homelessness-post-retirement +events: +- perth +- geraldton +excerpt_separator: +gid: households-and-risk-of-homelessness-post-retirement +jurisdiction: wa +name: Households and risk of homelessness post retirement +organisation: wa-housing-authority +title: Households and risk of homelessness post retirement +mentors: + - julie-considine +--- + +An analysis of Census data has been undertaken to examine households who may be at risk of homelessness once those who are employed retire from the workforce. The cohort needed to meet all of the following criteria: + + + +• Reference person aged 50+ years +• Employed reference person or partner +• Current tenure is renting +• Income is considered moderate (defined as $600-1249 per week). \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-housing/public-and-affordable-housing-demand.md b/_datasets/2016/wa/department-of-housing/public-and-affordable-housing-demand.md new file mode 100644 index 0000000..902ed62 --- /dev/null +++ b/_datasets/2016/wa/department-of-housing/public-and-affordable-housing-demand.md @@ -0,0 +1,29 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/public-and-affordable-housing-demand +events: +- perth +- geraldton +excerpt_separator: +gid: public-and-affordable-housing-demand +jurisdiction: wa +name: Public and Affordable Housing Demand +organisation: wa-housing-authority +title: Public and Affordable Housing Demand +mentors: + - julie-considine +--- + +The WA Housing Authority has developed a model to + + + +estimate demand for social and affordable housing at the LGA level. +This is a snapshot of unmet demand as of Census night, 2011. +It is based on data from the 2011 Census, information from the WA Housing Authority, and WA State Government population projections. +Data from all sources is combined and assessed to produce a priority ranking at the following levels: +- Pubic Housing, metropolitan area (LGA level) +- Affordable Housing, metropolitan area (LGA level) +- Pubic Housing, regional WA (LGA level) +- Affordable Housing, regional WA (LGA level) + +Detailed methodology for the model is shown here in the attached paper \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-housing/public-housing-presence-by-lga-(quartile-ranking).md b/_datasets/2016/wa/department-of-housing/public-housing-presence-by-lga-(quartile-ranking).md new file mode 100644 index 0000000..9b2bf98 --- /dev/null +++ b/_datasets/2016/wa/department-of-housing/public-housing-presence-by-lga-(quartile-ranking).md @@ -0,0 +1,26 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/public-housing-presence-by-lga-quartile-ranking +events: +- perth +- geraldton +excerpt_separator: +gid: public-housing-presence-by-lga-(quartile-ranking) +jurisdiction: wa +name: Public Housing Presence by LGA (quartile ranking) +organisation: wa-housing-authority +title: Public Housing Presence by LGA (quartile ranking) +mentors: + - julie-considine +--- + +Local Government Areas were sorted by the proportion of Public Housing within their area + + + +The 32 metropolitan LGAs were then used to form quartiles (8 LGAS in each) +The 105 regional LGAS were used to form quartiles within the list of regional LGAs (26 in each) The LGAs are numbered and colour coded for identification + +1 LGA was in the 75th to 100th percentile for proportion of Public Housing within their area 2 LGA was in the 50th to 75th percentile for proportion of Public Housing within their area 3 LGA was in the 25th to 50th percentile for proportion of Public Housing within their area 4 LGA was below the 25th percentile for the proportion of Public Housing within their area + +Note: +Narrogin (T) and Narrogin (S) are combined under Narrogin (T). \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-local-government-and-communities/wa-local-government-mycouncil-data.md b/_datasets/2016/wa/department-of-local-government-and-communities/wa-local-government-mycouncil-data.md new file mode 100644 index 0000000..124e74a --- /dev/null +++ b/_datasets/2016/wa/department-of-local-government-and-communities/wa-local-government-mycouncil-data.md @@ -0,0 +1,16 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/mycouncil +events: +- perth +- geraldton +excerpt_separator: +gid: wa-local-government-mycouncil-data +jurisdiction: wa +name: WA Local Government MyCouncil Data +organisation: wa-department-of-local-government-and-communities +title: WA Local Government MyCouncil Data +mentors: + - Richard Bean +--- + +MyCouncil is an initiative of the State Government to strengthen local government accountability and performance. MyCouncil is a place where you can find out how local governments are raising, spending and managing their money. \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-treasury/2014-15-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md b/_datasets/2016/wa/department-of-treasury/2014-15-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md new file mode 100644 index 0000000..ef1dccd --- /dev/null +++ b/_datasets/2016/wa/department-of-treasury/2014-15-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md @@ -0,0 +1,36 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/2014-15-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +events: +- perth +- geraldton +excerpt_separator: +gid: 2014-15-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +jurisdiction: wa +name: 2014-15 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +organisation: wa-department-of-treasury +title: 2014-15 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +--- + +Tables and data underlying all chapters and appendices included in 2014-15 Budget Paper Number 3 - Economic and Fiscal Outlook. + + + +Includes data from chapters as follows: + +Chapter 1: Overview +Chapter 2: The Western Australian Economy +Chapter 3: Financial Projections and Fiscal Strategy +Chapter 4: General Government Revenue +Chapter 5: General Government Expenses +Chapter 6: Asset Investment +Chapter 7: Royalties for Regions +Appendix 1: Detailed Financial Projections +Appendix 2: General Government Operating Revenue +Appendix 3: 2013-14 General Government Operating Revenue +Appendix 4: The Treasurer's Advance +Appendix 5: Special Purpose Accounts +Appendix 6: State Government Social Concessions Expenditure Statement +Appendix 7: Asset Investment Program - Summary of Expenditure and Source of Funds +Appendix 8: Public Corporations - Impact on General Government Revenue and Expenses +Appendix 9: Tariffs, Fees and Charges +Appendix 10: Tax and Royalty Expenditure Statement \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-treasury/2015-16-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md b/_datasets/2016/wa/department-of-treasury/2015-16-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md new file mode 100644 index 0000000..d21004f --- /dev/null +++ b/_datasets/2016/wa/department-of-treasury/2015-16-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md @@ -0,0 +1,37 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/2015-16-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +events: +- perth +- geraldton +excerpt_separator: +gid: 2015-16-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +jurisdiction: wa +name: 2015-16 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +organisation: wa-department-of-treasury +title: 2015-16 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +--- + +Tables and data underlying all chapters and appendices included in 2015-16 Budget Paper Number 3 - Economic and Fiscal Outlook. + + + +Includes data from chapters as follows: + +Chapter 1: Overview +Chapter 2: The Western Australian Economy +Chapter 3: Financial Projections and Fiscal Strategy +Chapter 4: General Government Revenue +Chapter 5: General Government Expenses +Chapter 6: Asset Investment +Chapter 7: Royalties for Regions +Appendix 1: Detailed Financial Projections +Appendix 2: General Government Operating Revenue +Appendix 3: 2014-15 General Government Operating Revenue +Appendix 4: The Treasurer's Advance +Appendix 5: Special Purpose Accounts +Appendix 6: State Government Social Concessions Expenditure Statement +Appendix 7: Asset Investment Program - Summary of Expenditure and Source of Funds +Appendix 8: Public Corporations - Impact on General Government Revenue and Expenses +Appendix 9: Tariffs, Fees and Charges +Appendix 10: Tax and Royalty Expenditure Statement +Appendix 11: Allocation of Asset Investment Program Efficiency Savings \ No newline at end of file diff --git a/_datasets/2016/wa/department-of-treasury/2016-17-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md b/_datasets/2016/wa/department-of-treasury/2016-17-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md new file mode 100644 index 0000000..6f146c7 --- /dev/null +++ b/_datasets/2016/wa/department-of-treasury/2016-17-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data.md @@ -0,0 +1,38 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/2016-17-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +events: +- perth +- geraldton +excerpt_separator: +gid: 2016-17-western-australia-budget-economic-and-fiscal-outlook-table-and-chart-data +jurisdiction: wa +name: 2016-17 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +organisation: wa-department-of-treasury +title: 2016-17 Western Australia Budget Economic and Fiscal Outlook Table and Chart Data +--- + +Tables and data underlying all chapters and appendices included in 2016-17 Budget Paper Number 3 - Economic and Fiscal Outlook. + + + +Includes data from chapters as follows: + +Chapter 1: Overview +Chapter 2: Economic Outlook +Chapter 3: Fiscal Outlook and Strategy +Chapter 4: General Government Revenue +Chapter 5: General Government Expenses +Chapter 6: Asset Investment +Chapter 7: Royalties for Regions +Appendix 1: Detailed Financial Projections +Appendix 2: General Government Operating Revenue +Appendix 3: 2015-16 General Government Operating Revenue +Appendix 4: The Treasurer's Advance +Appendix 5: Special Purpose Accounts +Appendix 6: State Government Social Concessions Expenditure Statement +Appendix 7: Asset Investment Program - Summary of Expenditure and Source of Funds +Appendix 8: Public Corporations - Impact on General Government Revenue and Expenses +Appendix 9: Tariffs, Fees and Charges +Appendix 10: Tax and Royalty Expenditure Statement +Appendix 11: Allocation of Asset Investment Program Efficiency Savings +Appendix 12: Western Australia's Net Contribution to the \ No newline at end of file diff --git a/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-motor-injury-insurance-accident-data.md b/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-motor-injury-insurance-accident-data.md new file mode 100644 index 0000000..dab2f08 --- /dev/null +++ b/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-motor-injury-insurance-accident-data.md @@ -0,0 +1,17 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/icwa-motor-injury-insurance-accident-data +events: +- perth +- geraldton +excerpt_separator: +gid: icwa-motor-injury-insurance-accident-data +jurisdiction: wa +name: ICWA Motor Injury Insurance Accident Data +organisation: insurance-commission-of-western-australia +title: ICWA Motor Injury Insurance Accident Data +mentors: + - gary-newman + - robert-marchesi +--- + +Accident, claim and payment data relating to injuries occurring to motorists in Western Australia. \ No newline at end of file diff --git a/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-workers-compensation-claim-data.md b/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-workers-compensation-claim-data.md new file mode 100644 index 0000000..2fe7098 --- /dev/null +++ b/_datasets/2016/wa/insurance-commission-of-western-australia/icwa-workers-compensation-claim-data.md @@ -0,0 +1,17 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/ic +events: +- perth +- geraldton +excerpt_separator: +gid: icwa-workers-compensation-claim-data +jurisdiction: wa +name: ICWA Workers Compensation Claim Data +organisation: insurance-commission-of-western-australia +title: ICWA Workers Compensation Claim Data +mentors: + - gary-newman + - robert-marchesi +--- + +Claim and payment data relating to workers compensation for WA government employees. \ No newline at end of file diff --git a/_datasets/2016/wa/main-roads-western-australia/crash-2011-to-2015-mrwa.md b/_datasets/2016/wa/main-roads-western-australia/crash-2011-to-2015-mrwa.md new file mode 100644 index 0000000..9a7978a --- /dev/null +++ b/_datasets/2016/wa/main-roads-western-australia/crash-2011-to-2015-mrwa.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/crash-2011-to-2015-mrwa +events: +- perth +- geraldton +excerpt_separator: +gid: crash-2011-to-2015-mrwa +jurisdiction: wa +name: Crash 2011 to 2015 MRWA +organisation: main-roads-western-australia +title: Crash 2011 to 2015 MRWA +--- + diff --git a/_datasets/2016/wa/main-roads-western-australia/incidents-and-events-mrwa.md b/_datasets/2016/wa/main-roads-western-australia/incidents-and-events-mrwa.md new file mode 100644 index 0000000..cd05218 --- /dev/null +++ b/_datasets/2016/wa/main-roads-western-australia/incidents-and-events-mrwa.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/incidents-and-events-mrwa +events: +- perth +- geraldton +excerpt_separator: +gid: incidents-and-events-mrwa +jurisdiction: wa +name: Incidents and Events MRWA +organisation: main-roads-western-australia +title: Incidents and Events MRWA +--- + diff --git a/_datasets/2016/wa/main-roads-western-australia/network-operations-traffic-data-mrwa.md b/_datasets/2016/wa/main-roads-western-australia/network-operations-traffic-data-mrwa.md new file mode 100644 index 0000000..9e0207c --- /dev/null +++ b/_datasets/2016/wa/main-roads-western-australia/network-operations-traffic-data-mrwa.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/network-operations-traffic-data-mrwa +events: +- perth +- geraldton +excerpt_separator: +gid: network-operations-traffic-data-mrwa +jurisdiction: wa +name: Network Operations Traffic Data MRWA +organisation: main-roads-western-australia +title: Network Operations Traffic Data MRWA +--- + diff --git a/_datasets/2016/wa/nacc/beach-photo-monitoring.md b/_datasets/2016/wa/nacc/beach-photo-monitoring.md new file mode 100644 index 0000000..e75e401 --- /dev/null +++ b/_datasets/2016/wa/nacc/beach-photo-monitoring.md @@ -0,0 +1,20 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/beach-photo-monitoring-images +events: +- perth +- geraldton +excerpt_separator: +gid: beach-photo-monitoring +jurisdiction: wa +name: Beach photo monitoring +organisation: nacc +title: Beach photo monitoring +mentors: + - emma-jackson +--- + +Dataset includes metadata and URLs of thousands of photos taken at over 90 coastal photo monitoring sites between Guilderton and Kalbarri, in Western Australia. + + + +Volunteers take regular photos at these sites, which are then uploaded to an online database. This is an export of that database. \ No newline at end of file diff --git a/_datasets/2016/wa/state-library-of-western-australia/bird-songs-online.md b/_datasets/2016/wa/state-library-of-western-australia/bird-songs-online.md new file mode 100644 index 0000000..be11dd1 --- /dev/null +++ b/_datasets/2016/wa/state-library-of-western-australia/bird-songs-online.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/bird-songs-online +events: +- perth +- geraldton +excerpt_separator: +gid: bird-songs-online +jurisdiction: wa +name: Bird songs online +organisation: state-library-of-western-australia +title: Bird songs online +--- + diff --git a/_datasets/2016/wa/state-library-of-western-australia/digital-photographic-collection.md b/_datasets/2016/wa/state-library-of-western-australia/digital-photographic-collection.md new file mode 100644 index 0000000..315a7a9 --- /dev/null +++ b/_datasets/2016/wa/state-library-of-western-australia/digital-photographic-collection.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/digital-photographic-collection +events: +- perth +- geraldton +excerpt_separator: +gid: digital-photographic-collection +jurisdiction: wa +name: Digital Photographic Collection +organisation: state-library-of-western-australia +title: Digital Photographic Collection +--- + diff --git a/_datasets/2016/wa/state-library-of-western-australia/krantz-&-sheldon-architectural-images.md b/_datasets/2016/wa/state-library-of-western-australia/krantz-&-sheldon-architectural-images.md new file mode 100644 index 0000000..e95486d --- /dev/null +++ b/_datasets/2016/wa/state-library-of-western-australia/krantz-&-sheldon-architectural-images.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/krantz-sheldon-architectural-images +events: +- perth +- geraldton +excerpt_separator: +gid: krantz-&-sheldon-architectural-images +jurisdiction: wa +name: Krantz & Sheldon Architectural images +organisation: state-library-of-western-australia +title: Krantz & Sheldon Architectural images +--- + diff --git a/_datasets/2016/wa/state-library-of-western-australia/lands-and-surveys-historic-map-series.md b/_datasets/2016/wa/state-library-of-western-australia/lands-and-surveys-historic-map-series.md new file mode 100644 index 0000000..71f04c3 --- /dev/null +++ b/_datasets/2016/wa/state-library-of-western-australia/lands-and-surveys-historic-map-series.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/lands-and-surveys-historic-map-series +events: +- perth +- geraldton +excerpt_separator: +gid: lands-and-surveys-historic-map-series +jurisdiction: wa +name: Lands and Surveys Historic Map Series +organisation: state-library-of-western-australia +title: Lands and Surveys Historic Map Series +--- + diff --git a/_datasets/2016/wa/state-library-of-western-australia/newspaper-titles-at-state-library-of-wa.md b/_datasets/2016/wa/state-library-of-western-australia/newspaper-titles-at-state-library-of-wa.md new file mode 100644 index 0000000..1028dab --- /dev/null +++ b/_datasets/2016/wa/state-library-of-western-australia/newspaper-titles-at-state-library-of-wa.md @@ -0,0 +1,13 @@ +--- +dataset_url: http://catalogue.beta.data.wa.gov.au/dataset/newspaper-titles-at-state-library-of-wa +events: +- perth +- geraldton +excerpt_separator: +gid: newspaper-titles-at-state-library-of-wa +jurisdiction: wa +name: Newspaper Titles at State Library of WA +organisation: state-library-of-western-australia +title: Newspaper Titles at State Library of WA +--- + diff --git a/_handbookchapters/anatomy.md b/_handbookchapters/anatomy.md new file mode 100644 index 0000000..daaede3 --- /dev/null +++ b/_handbookchapters/anatomy.md @@ -0,0 +1,69 @@ +--- +slug: 'anatomy' +title: 'Anatomy of a project' +last_updated: '2016-07-24T07:11:21.342Z' +categories: + - toolkit +tags: + - preparing + - planning + - team +--- + +There are three simple requirements for your GovHack project: + +* That you register your team and fill our your project information on the [HackerSpace](https://2016.hackerspace.govhack.org/), +* that you submit a 3 minute video by the end of the competition, and +* that you make your project source code and assets available online under an open source software license. + +It's useful to bear in mind that the competition judges will be focused on the tangible outcomes of your project, so making your team page a snazzy and useful resource with information about your project, screenshots, your 3 minute video, and anything else that shows off how *awesome* your project is is REALLY important :) + + +## Register your project and team + +Firstly, get one of your team to sign up and register your team on the [HackerSpace](https://2016.hackerspace.govhack.org). You **need to have registered** your team and created your project by midday Saturday (local time), but you're free to continue editing and improving it until the competition closes. + +If you experience any issues with registering your team, or have any questions about what is required of you, seek out one of your friendly local GovHack organisers and they'll give you a hand. + + +

+ +## Prepare your video + +The second most important part of your project is the 3 minute video showing your hack in action that you'll make to show off your project to the competition judges. + +The preferred method is to use a screencast with a voice-over narration explaining your hack, why you created it, and what is being show in the video. Remember that the judging panel is viewing the videos in isolation and doesn't necessarily have any context around your project. + +You may mix in other elements with the screencast, such as footage demonstrating the issues your hack addresses, interviews, live action material and actors (read: team members and bribeable friends)! you've filmed, et cetera - but be aware that videos that don't primarily focus on showing off the hack itself will not be as valued as ones that do. + +You are encouraged to include your team name, event location, team members, and to talk about the data you have used and your data reuse story. + +Check out the hacker toolkit for some assistance and instruction on how to make a compelling video. Remember: Your video should not take more than a few hours out of your weekend if you keep it simple. + +### Storyboarding, screencasting, and editing + +To help with storyboarding your video grab this huge pack of [free storyboarding illustrations](https://dribbble.com/shots/1083617-430-FREE-storyboard-illustrations). + +For screencasting check out software like [Screenr](http://www.screenr.com/) and [ActivePresenter](http://atomisystems.com/activepresenter/free-edition/) that will allow you to record demos of your application. + +For mixing clips together the [YouTube Video Editor](https://www.youtube.com/editor) is super user-friendly; though [VLC](http://www.videolan.org/vlmc) or [LWKS](http://www.lwks.com/) may also be handy. + +Videos can be uploaded directly to our S3 storage bucket via the HackerSpace (we'll upload them all to YouTube later). You can use YouTube, Vimeo, et cetera as well. + + + +And again, if you are unsure about what you need to do, or just need a bit of help with your video, hunt down one of your local GovHack organisers and they'll be happy to help. + + +## Submit your project + +The last tenet of GovHack is that you submit all of your source code and assets (data, documents, art assets, et cetera) and make the available under an open license (such as [Creative Commons](http://creativecommons.org.au/)). Typically this will comprise the source code for a web or mobile application, but for other types of works (e.g. 3D printed jewlery) that can be your notes and evidence of your prototypes. + +The key point to remember is that your source material needs to demonstrate to the competition judges that the end result was your own work, and that it is possible for another person, with the right knowledge and equipment, to replicate that work. + +You're free to submit your source materials in any fashion, but typically we find people like to use [GitHub](https://github.com/) or [BitBucket](https://bitbucket.org/). Both of these services are free for open source projects and have user-friendly web and desktop applications to allow even novice users to create, submit, and edit their source material. + +Check out our short video on getting set up with GitHub for GovHack: + + +

diff --git a/_handbookchapters/aws_credits.md b/_handbookchapters/aws_credits.md new file mode 100644 index 0000000..81a8e47 --- /dev/null +++ b/_handbookchapters/aws_credits.md @@ -0,0 +1,21 @@ +--- +slug: aws_credits +title: AWS Credits +tile: + image: https://assets.govhack.org/img/handbook/aws-600.png + image_max_width: 300px + button_label: Get AWS credits +last_updated: 28 Jul 2016 +categories: + - toolkit +tags: + - creating + - hosting + - cloud +--- + +AWS is pleased to offer all participants of GovHack 2016 $100.00 in promotional credit. + +To register for your GovHack 2016 credits, [visit this link](https://aws.amazon.com/events/govhack16/). (Note: The link will not activate until the start of the competition) + +Amazon Web Services provides a highly reliable, scalable, low-cost infrastructure platform in the cloud that powers over a million active customers in 190 countries around the world, including 2,300 government agencies, 7,000 education institutions and more than 22,000 nonprofit organizations. diff --git a/_handbookchapters/code_of_conduct.md b/_handbookchapters/code_of_conduct.md new file mode 100644 index 0000000..4e43c28 --- /dev/null +++ b/_handbookchapters/code_of_conduct.md @@ -0,0 +1,52 @@ +--- +slug: 'code_of_conduct' +title: 'Code of Conduct' +last_updated: '2016-07-29T04:25:44.279Z' +categories: + - comp +tags: + - preparing + - rules +--- + +By participating in GovHack, as a competitor, you agree to the following: + +* I will treat others with respect + +* I will not abuse, stalk, harass or threaten others. I will not make offensive comments related to gender, sexual orientation, disability, physical appearance, body size, race, or religion. I will not disrupt other people or the event and I will not make inappropriate physical contact or pay unwelcome sexual attention to other participants. + +* I will keep it G-rated and be mindful of language + +* I will not swear or make sexist, racist, or other exclusionary jokes, which may be offensive to those around me. I will behave in a way (only submit competition material) that is suitable for anyone to view, including young children. + +* I will respect the venue and equipment + +* I will keep the venue clean and tidy and use the rubbish and recycling bins as appropriate. I will let the organisers know if there are any issues. + +* I shall follow the competition rules + +* I will only use authorised materials that I have the right to use and release and will not submit any projects which are potentially libellous, false, defamatory or overtly political or contains material which is potentially confidential, commercially sensitive, or which would cause personal distress or loss. I will check the website and/or have a chat with one of the organisers if at any stage I am unclear on the competition rules. + +* I shall look after others and myself + +* I will remember that we are all here to create, not party. PLease respect the venue and crew instructions in regard to alcoholic beverage consumption on premises. + +* If venues are near residential areas please respect the community when coming and going from the venue + +* If I am under 18, I will ensure my guardian is with me whenever I am at the venue (unless i am at an official Youth node) + +* if I am the guardian of a participant under 18 I will ensure I keep an eye on them and ensure safe transport to and from the venue. + +* If I am feeling uncomfortable, am being harassed, notice that someone else is being harassed, or have any other concerns; I will immediately contact a GovHack organiser. + +* I will be super nice to the fabulous GovHack crew who are in charge and have put a lot of effort into organising a great event + +* If youth are present i will respect instructions that Youth supervisors or guardians provide to ensure a child safe environment + +* I will not do anything to ruin it or engage in any behavior that violates this code of conduct. + +* I understand that the GovHack organisers may take any action they deem appropriate, including warnings or expulsion from the GovHack event. + +* I understand that if I am removed from the event due to inappropriate behavior, I will no longer be eligible to compete for GovHack prizes. + + diff --git a/_handbookchapters/competition_rules_2016.md b/_handbookchapters/competition_rules_2016.md new file mode 100644 index 0000000..c6b0ca4 --- /dev/null +++ b/_handbookchapters/competition_rules_2016.md @@ -0,0 +1,180 @@ +--- +slug: 'competition_rules_2016' +title: 'Competition Rules 2016' +last_updated: '2016-07-29T07:03:46.797Z' +categories: + - comp +tags: + - preparing + - rules +--- + +## What can I submit as a hack? + +A Hack is when you take something and make it better! This is an open data competition so you need to reuse official open data in a clever and creative way. + +Entries could include, art, jewellery, a digital sign, a board game, historic film pieces, a virtual reality game, internet of things (IOT), a digital sensor display, a 3D model, a visualisation of data, an informed article and of course some amazing web apps! We only limit you to your imagination. + +Prize categories can help provide inspiration to shape your ideas, as can mentors sop don't be afraid to tap into the resources on hand for ideas. + +It's only 46 hours, so many of concepts entered are prototypes, mock ups, models, smaller scale artworks and even engineering design concepts from our maker community. Of course we have had some very crafty teams deliver live apps within the time frame. Your proof of concepts should be showcased in someway in your 3 minute video submission. + +## Submitting your entry + +Hackerspace (opened on the Friday of the competition at 7pm) is the Official GovHack competition submission site and allows you to submit all components required for your team’s Govhack entry. + +*Note: submission elements and times are system controlled so not extensions are available!* Teams are required to submit the following as part of their competition entry on Hackerspace: + +* **Register** **all Team members** in Hackerspace + +All team members must be registered as a user with their email. This ensures you get an invite to awards nights and so you can receive any awards you may win. + +* **A descriptive project page** must be created for each project + + * Team members and Team Captain + + * Project Description + + * An image that best captures your concept e.g a logo or Image. + + * Nominate Prize Categories - nominate for multiple prizes and from all levels of competition that you can view including International, National, Regional and Local prizes.Check you fulfill any special Prize category eligibility criteria such as a specific datasets. + + * Nominate for Team awards available this year + +* **Record data used -** For each significant dataset you use record the URL and explain how this data was used in your entry. For each prize category you nominate make sure you check for any specific data reuse eligibility requirements and record the data. This field will be used to validate the eligibility of your entry. + +* **Evidence Repository URL (Mandatory)** This is your proof of concept.** **You must provide evidence of your work over the weekend any code, graphics,plans, drawings, data analysis and cleansing, mashups, applications, website URLs, models, photos of each stage to create your artistic representations. Submit a link to a digital repository such as a Google Drive or Dropbox shared folder (public) or a Git repository such as public GitHub or public BitBucket + +* ** A maximum 3 minute Video entry - (Mandatory, must submit actual Video URL not link to another website)** This a video pitch of your entry that tells a story of how you have reused data. The video should demonstrate your hack concept, the benefits or value the concept could achieve and where possible introduce your team. The most common method is to use a screencast, with a voice-over narration. + + * Note: Judges will stop watching videos after 3 minutes + +* **Demo URL (Optional)** If judges are able to see and play with it that is useful, but this is a minor component of the judging. + +#### **Timeframes to register and submit:** + +* **7pm Friday Local time** – Hackerspace opens and prize categories are announced for your region + +* **12pm Saturday Local time**-all competitors must register as a user on Hackerspace. + +* **5pm Saturday Local time** – A Team Project Page and your prize category nomination must be completed in Hackerspace. Record all your team members on your project page and the URL to your evidence repository (proof of concept). No new projects pages can be created after this time. You are still able to edit your project page after this time. + +* **3pm sunday - finalise your project page** including the URL of datasets and how you have used the data. + +* **4pm Sunday Local time** – Your video should be finalised and a URL linking to your video created to load on your Project page. It may take some time for your video to load once you have started the process but get the URL entered on your page. + +* **5pm Sunday local time** – You MUST have all parts of your competition entry submitted by 5:00pm Local time. + + * A descriptive project page + + * Prize categories nominated + + * Data used - URLs + + * Evidence Repository URL + + * Video URL + + * Demo URL (Optional) + +## Using Open Data + +You will find the list of Official data available for the GovHack competition in the[ Official Datasets list](http://portal.govhack.org/datasets.html). You must use at least one Official dataset to be eligible for prizes. Official Data includes individual datasets featured and all data discoverable on official Government data portals that are published on the Official Dataset list. + +You will need to Record the URL of the most prominent data you have used on your Hackerspace project page. Remember judges love to see their data reused :) + +For each prize category you enter, please check the eligibility requirements to see if any specific data needs to be reused to meet judges criteria. To maximize your chances to win National and Local prizes we recommend you mash up National and Local official data, giving you a chance in as many categories as possible. + +Some datasets listed on data portals may have additional resources available with further information on how to use the data or other supporting material. You are encouraged to download and use these resources. + +Several competition goals require entries must use at least one of the datasets provided for this contest, but you are free to use data from the official GovHack list or other datasets as long as their licensing terms permit usage for this purpose. You may also use any publicly accessible web services as long as it does not incur a financial cost to use (private and subscription APIs are prohibited due to licensing issues and barrier to entry). + +## Eligibility for Prizes + +A team can be one person or more. We recommend teams that are 3 to 6 people is best. + +To be eligible for prizes, individual entrants must be either an Australian or New Zealand citizen or a current Australian or New Zealand resident (this includes temporary student residents). It’s only fair – it is an Australian and New Zealand GovHack competition after all. + +At least one team member must be over 18 (Or a guardian must be registered as the Representative to facilitate prizes). + +For all Virtual Team competitors you must be a resident of the state or territory to participate and have one team member who has attended an event over the competition weekend. + +Judges expect entries to be primarily developed throughout the weekend of GovHack. If submissions are shown to have been worked on before the weekend, the submission will be ineligible for prizes. This does not include reuse or extension of existing software, libraries or data sets. Entrants may be members of multiple teams but each team must be registered separately and each team has one entry. There is no maximum team size. + +No judges will be eligible to compete for prizes, and individuals from organisations or companies are also not eligible for prizes sponsored by their organisation. Mentors/speakers are eligible to compete for prizes, but judges reserve the right to disqualify a mentor/speaker if they perceive unfairness. + +## Nature of Submission + +Don’t do bad things. This contest has been designed to demonstrate the benefit of open data and open government. Please participate in and engage with the contest in that spirit and in good faith. You must not include submissions that are: + +* potentially libellous, false, defamatory, privacy invasive or overtly political; + +* material which is potentially confidential, commercially sensitive, or which would cause personal distress or loss; + +* any commercial endorsement, promotion of any product, service or publication; + +* language which is offensive, obscene or otherwise inappropriate; or + +* misleading, deceptive, violate a third party’s rights or are otherwise contrary to law. + +We reserve the right to reject submissions that do not comply with the letter and spirit of these rules. + +## Authorised materials + +You agree to only include code, data, or other materials in a submission for the GovHack contest that you have the right to use and release consist with these Contest Rules. + +All code and APIs must be available under an appropriately open license that allows reuse, commercial use, remixing and redistribution. As the owner of the code you can of course fork that code and commercialise if you want, but to be eligible for the competition, the codebase and demonstration submitted must be open sourced. All other content submitted must be Creative Commons BY licensed. For instance you may choose to submit an incredible dynamic or static data visualisation as your team contribution. + +The reason for the open licensing of code and content is because GovHack is about awesome outcomes that anyone can use and build on. Great innovation comes from building on the greatness of those who came before. + +Entrants consent to GovHack representatives using their name, likeness, image and/or voice in any media for an unlimited period of time, without remuneration, for any publicity and marketing purposes. + +Most datasets available for this contest have been released under a permissive licence such as the [Creative Commons Attribution license 4.0](https://creativecommons.org/licenses/by/4.0/). You can also use other material that has been released on similarly liberal terms (ie. it is in the public domain (eg. US Government materials) or released under another, [compatible Creative Commons license](http://wiki.creativecommons.org/Frequently_Asked_Questions#If_I_use_a_Creative_Commons-licensed_work_with_other_works.2C_do_I_have_to_Creative_Commons_license_everything_else_as_well.3F), [the Free Documentation License](http://www.gnu.org/copyleft/fdl.html), [the MIT license ](http://www.opensource.org/licenses/mit-license.php)or [BSD license ](http://www.opensource.org/licenses/bsd-license.html)etc.).You can use non- Government data licenced for reuse, however remember this is GovHack so you must use some official Government datasets. + +### Right to remove + +Submissions and comments will be posted live, but occasionally they may not make it through our anti-trolling and anti-spamming filters and may need to be moderated manually. We reserve the right to remove or not post any submission that reasonably appears to breach any of these rules. + +## Disclaimer + +The GovHack team makes no representations or warranties of any kind, expressed or implied, including warranties of accuracy, in regard to any submissions or links published on the GovHack website. + +GovHack should be an awesome experience for everyone. Be nice, play fair, or go home. + +## Nominating for prizes + +All prizes you can compete for will be announced on 29 July at your registered Official GovHack Location 2016 launch party at 7pm! After then you can find the prizes listed on the [Competition Portal](http://portal.govhack.org/) and Hackerspace . Teams are eligible for some great prizes, including: + +* International Prizes categories + +* Major Prize categories + +* Bounty Prize categories + +* Statewide prizes + +* Location prizes + +* Development prizes + +You must nominate which prizes you are competing for on your HackerSpace project page. You are able to nominate for multiple prizes categories and are encouraged to nominate for at least Major, Statewide and local prize. + +For development prizes we encourage you to only nominate this prize if you or your team plan to utilise the development opportunity provided by our generous sponsors. This helps ensure teams who could benefit from the prize do not miss out. + +### Team Prizes + +There are a few prizes for particular categories of participants. Teams must self-nominate in the HackerSpace for the category that best describes their team and declare the eligible members. Team awards can be nominated if over 75% of your team members identify with the nominated team category. + +* A youth is anyone 18 years or younger. + +* To be eligible for the Best Higher Education award please provide relevant email/organisation details. + +### Spirit Prizes + +Each GovHack event crew will nominate the Spirit of GovHack Award nomination from their event. Spirit Prizes are not nominated by competitors in Hackerspace This recognises an individual that displays the greatest spirit of GovHack, aka the best "hacker" ethos. This means the person who best helped others, shared, learned or applied their skills creatively or cleverly. Local Spirit award Nominations are in the running to win the GovHack State Spirit Award. This award is a Golden Ticket to the GovHack Red Carpet Awards with flights and accommodation included! Some Local event will also have some other spirit prizes to issue at the closing ceremony on Sunday. + +### Administration of Prize Awards + +Each Prize Category includes details of the award that you are nominating. Sponsors generously support the event with contribution to event running costs, awards nights and prizes. The value of cash awards has been determined based on expected costs of the event as at 26 July 2016 and we are confident they are correct. As Govhack is a not-for-profit community event GovHack Global Operations Team (GOT) reserves the right to amend the value of the prize if the GovHack event has outstanding expenses that have not been covered by sponsorship. Cash awards will be administered through GovHack GOT following the relevant awards nights and reconciliation of all event related expenses. If prize values are changed you will be notified accordingly. Development prizes are administered by the sponsor who has contributed the prize. GovHack event coordinators will facilitate an introduction following the relevant awards. GovHack GOT accepts no liability if benefits of development prizes are not delivered. + + diff --git a/_handbookchapters/data_viz.md b/_handbookchapters/data_viz.md new file mode 100644 index 0000000..047de96 --- /dev/null +++ b/_handbookchapters/data_viz.md @@ -0,0 +1,61 @@ +--- +slug: data_viz +title: 'Data Visualisation' +last_updated: '2016-07-24T07:11:21.342Z' +categories: + - toolkit +tags: + - creating + - dataviz +--- + +# Data viz 101 + +Data visualisation encompasses a broad range of fields, techniques, and tools for creating visual representation of data for human consumption. The geographic and tabular data fields have rich toolsets for visualising their particular types of data, so keep on scrolling if you're after some specific tools. + +For now, read on for some of the theory behind data visualisation, some material to inspire, and lists of visualisation tools. + +### The theory of it all + +For advice on the use of colour check out Paul Tol's advice on [good colour schemes](http://www.r-bloggers.com/the-paul-tol-21-color-salute/) and the Fink Lab's [collection of colour schemes](http://flinklabs.com/labs/colors/). + +The School of Data has a set of [data visualization guidelines](http://schoolofdata.org/2013/04/26/data-visualization-guidelines-by-gregor-aisch-international-journalism-festival/) by Gregor Aisch that are worth a read. + +So too are the slidedecks for [Stanford CS448B: Visualisation](http://www.graphics.stanford.edu/courses/cs448b-04-winter/), who have now moved to be the University of Washigton's [Interactive Data Lab](http://idl.cs.washington.edu/). + +Lastly, Juice Analytics has good roundup at [Data Storytelling: The Ultimate Collection of Resources](http://www.juiceanalytics.com/writing/the-ultimate-collection-of-data-storytelling-resources/). + +### Resources for inspiring + +If you're stuck for inspiration check out the [Sunlight Foundation's Tumblr](http://sunfoundation.tumblr.com/) or Design Your Way's post of [23 inforgraphics to inspire](http://www.designyourway.net/blog/inspiration/data-visualization-designs-that-should-inspire-you-23-infographics/). + +Also worth a look are [Information is Beautiful](http://www.informationisbeautiful.net/), [infosthetics](http://infosthetics.com/), and [Visual Complexity](http://www.visualcomplexity.com/vc/). + +And finally Avinash Kaushik's post on [Data Visualization Inspiration: Analysis To Insights To Action, Faster!](http://www.kaushik.net/avinash/data-visualization-inspiration-analysis-insights-action-faster/) uses six short stories of data visualisation done well to inspire. + +### Resources for building + +If you're not sure exactly what tool you're after and like staring at lists of tools waiting for something to leap out at you then check these out! + +* Visualising Data's [Essential Collection of Visualisation Resources](http://www.visualisingdata.com/index.php/2011/07/part-6-the-essential-collection-of-visualisation-resources/) +* Drawing By Number's [Visualisation Tools and Resources](https://drawingbynumbers.org/toolsandresources) +* datavisualisation.ch's [selection of tools for visualisation](http://selection.datavisualization.ch/) + +#### Web visualisation tools + +We couldn't mention data vis without giving a nod to [D3.js](http://d3js.org/) (Data Driven Documents) for creating interactive and amazingly detailed visualisations - find out more about [Why D3.js is So Great for Data Visualization](http://blog.visual.ly/why-d3-js-is-so-great-for-data-visualization/). Bewarned though, the learning is quite steep as you're starting out, but the web is full of thousand of D3.js examples that you should have no problems hacking into the shape you want (such as [word clouds](http://www.jasondavies.com/wordcloud/), [real-time filtering of barcharts](http://square.github.com/crossfilter/), and [bubble trees for comparing sizes](https://github.com/okfn/bubbletree), and [many, many more](http://bl.ocksplorer.org)). Check out these couple of great tutorials [Towards Reusable Charts](http://bost.ocks.org/mike/chart/) and [Data-Driven Documents, Defined](http://datadrivenjournalism.net/resources/data_driven_documents_defined). + +Beyond D3.js have a look at [Highcharts](http://www.highcharts.com/), [Google Charts](https://developers.google.com/chart/), [jit](http://philogb.github.io/jit/), [three.js](http://threejs.org/), [polychart.js](http://www.polychartjs.com/), [PhiloGL](http://www.senchalabs.org/philogl/), and [Flotr2](http://www.humblesoftware.com/flotr2/) for a range of great web vis libraries. + +#### Visualisation as a Service + +For some quick out-of-the-box charting [plot.lt](https://plot.ly/), [Datawrapper](https://datawrapper.de/), and [infogr.am](https://infogr.am/) both offer great charting as a service tools for easy prototyping without having to write any code. + + +#### Desktop tools + +If you're playing with data vis on the desktop you'll find a lot of the tools are commercial in nature, but [Tableau](http://www.tableau.com/) is worth a look (as well as the School of Data tutorial [Analysing Datasets with Tableau Public](http://schoolofdata.org/2013/04/27/ddjschool-tutorial-analysing-datasets-with-tableau-public/)). + +### Bonus: Android native charting libraries + +If you're in need of toolts for building charts and graphs on android have a look at [Androidplot](http://androidplot.com/), [ChartDroid](https://code.google.com/p/chartdroid/), or [achartengine](https://code.google.com/p/achartengine/). diff --git a/_handbookchapters/event_roadmap.md b/_handbookchapters/event_roadmap.md new file mode 100644 index 0000000..0d81f0b --- /dev/null +++ b/_handbookchapters/event_roadmap.md @@ -0,0 +1,169 @@ +--- +slug: 'event_roadmap' +title: 'Event roadmap' +last_updated: '2016-07-29T04:26:12.539Z' +categories: + - comp +tags: + - competing + - date + - time +--- + +## Deadline + +You MUST have all parts of your competition entry submitted by 5:00pm Local time in Hackerspace. + +* Every team member registered in hackerspace + +* A descriptive project page + +* A Team Captain + +* Prize categories nominated + +* Official Open Data reused - URLs + +* Evidence Repository URL + +* Video URL - maximum 3 mins + +* Demo URL (Optional) + +We recommend you review the the [Handbook](http://portal.govhack.org/handbook/#) as it will help you: + +* Compete → in the event + +* Create → your awesome hack + +* Submit → your project for judging + +There are also a bunch of tools and guidance available to help you at each stage of the competition. + +You have only approximately 46 hours to get your entry completed. Here is a guide as to how you might want to allocate your time. This is only a guide, and you can do whatever you want to create and submit your entry. + +## Friday + +At 7pm on the Friday night the competition categories are launched and your team can start creating. The first night is all about working together in your team to create an idea. + +* Find a spot to set up and make your own for the weekend. + +* Talk to mentors before they head home! They know the data and will have great ideas to get your started. + +* Head to H[ackerspace](http://2016.govhack.org) and register as a user (all team members must register). One person from the team creates a team page. This will unlock all the prize categories you can enter at your location including International, National, State and Local prizes. + +* Spend some time reviewing: + + * prizes to identify some common themes of prize categories + + * the [Official Data](http://portal.govhack.org/datasets.html) list which includes featured data from sponsors and open government data portals + + * Identify the focus of your investigation and project + +* Check if these prize categories have data requirements. + +* Assign roles within your team - working with each other strengths. + +* Deconstruct the prize category + + * Think outside the box - entries can be anything a game, an art installation, a visual display, a story, a gadget,a board game, analytical models, a data vis and of course some great apps. Is there new technology you want to try or perhaps there is a tool or insight you think will help government. + + * Judges reward originality and ideas that make data accessible to understand. + + * design thinking + + * What pain points could you resolve + + * What other data could be relevant to the pain points or users? + + * Mind map your ideas + +* Check the [Judging criteria](http://portal.govhack.org/handbook/comp/judging_criteria.html) + +* Rule out data that needs too much work or start engaging mentors for help + +* Create an evidence repository and add this URL to you Hackerspace project page. Start adding content even if it just photos of your workings for now (what is an evidence repository? Github for the techies and Google folder or similar that you can share via a URL for non-techies). + +* Record URLS of datasets you use for submitting on your project page. + +* Ask for help :) There are mentors, crew and other Hackers who can help. + +## Saturday + +Aim to lock down your concept by midday Saturday. + +Mentors arrive at 9am and will be available till midday - [check the mentor portal](http://portal.govhack.org/mentors.html) to see who is coming at your event. + +* Review your team plans and assign tasks. + +* It's ok if you don't have an idea yet - the mentors will have loads of ideas and problems they want solved. + +* Road test your ideas with mentors and pick their brain. Road test ideas with crew. + +* Ask your govhack crew to help connect with mentors for ideas if you need. + +* Consolidate your many ideas into one or two good ones + +* Data data data - how will you use it, mash it, interpret it, present it?- remember to record URLs of data in your Hackerspace project page as you go. + +* Start a storyboard of how you will communicate your ideas + +* What could you create/prototype/design/model that is achievable and will help people understand the concept? + +* Take some photos of your team or media that will help in your Video entry + +* Submit team registration page and nominate prize categories by 5pm deadline! + +* No more project pages can be created after 5pm. + +* Keep building + +* Run your storyboard past some GovHack crew. + +## Sunday + +Last years competitors will all tell you the same… "it took me all arvo to create my Vid and then we had loading problems… Aggghh Panic!" On average it takes about an hour to load videos on YouTube and new technology when you're stressed takes twice as long as you want… so factor these elements into your days plans. + +* Set tasks and activities for the day + +* Research tools you will need for the day - check the [Handbook](http://www.2016.govhack.org) + +* Finalise your storyboard script. What material will feature in your video? People? Places? Prototypes? Data? - what are the key points or features you want judges to understand? + +* Build, prototype or mock up items that will feature in the vid to demonstrate your concept. + +* How will you feature the data? + +* Update your project page with your data story and datasets + +* Script for your video + +* Arrange for a quiet space to record any audio - aim for midday + +* Craft and edit your 3 minute pitch video + +* Apply audio + +* By 2pm you should be in editing mode for your video + +* Get your team page completed to meet all entry criteria + +* Aim to start loading your vid to YouTube (or similar) by no later than 4pm + +* YouTube gives you a URL link as soon as you start loading your vid – so make sure you grab this and enter it on your project page + +* Finish and submit entry by 5pm. + +In order to get some sleep and quality coding time, you may want to consider organising your team into shifts, so that while some are working, others can go home and rest, and then take over to allow the previous shift to get some rest. + +Don’t forget to look after yourself: take breaks, eat, drink and go for an occasional walk. Allow some time to get away and freshen up. Showers clear the mind! + +## Top Tips + +* Check the Eligibility criteria on each prize category - some prizes require you to use data from a specific data portal or dataset. + +* Don’t try to develop concepts that win every prize, focus on complementary prize categories. + +* Good ideas need sleep - aim for 7 hours minimum on the friday night as Saturday will be a long day! + + diff --git a/_handbookchapters/geographic_data.md b/_handbookchapters/geographic_data.md new file mode 100644 index 0000000..d00573a --- /dev/null +++ b/_handbookchapters/geographic_data.md @@ -0,0 +1,175 @@ +--- +slug: 'geographic_data' +title: 'Geographic Data' +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - creating +--- + +# Intro to geographic data + +Geographic data is any dataset that has a location element to it - usually provided as latitude and longitude coordinates - that describes a set of points, lines, or polygons, or a picture (raster) with other non-geographic attributes attached to them. A lot of datasets fall under the category of geographic data (aka spatial data) - from bus stops, postcodes, and cycle paths to polling places, satellite or aerial photography, and mineral deposits. + +Google Maps [may have popularised mapping](http://www.theguardian.com/technology/2015/feb/08/google-maps-10-anniversary-iphone-android-street-view), but actually working with the data that underlies a map requires some specialist tools and knowledge. + +If you're new to working with spatial data then we **highly recommend** reading Tom MacWright's truly excellent [mapschool: a free introduction to geo](http://mapschool.io/) site. You can skim through it in about half an hour and get up to speed on the basics of spatial data, learn about the common data types, and likely pick up some knowledge that will save you a lot of frustration down the line. + +# Quick and dirty - just show me what the data looks like + +The first thing you'll probably want to do when you find data is to actually just quickly view it to see what it looks like, check if the data is what you thought it was, if the geographic distribution is about right, et cetera. + +Well, there's a couple of options. + +For really quick and simple viewing you can drop most common sorts of spatial vector data on [geojson.io](http://geojson.io/) and see a quick representation of it (as well as then exporting it back out to a different format). All of the processing is client-side though, so you might want to avoid giving it a huge or complex dataset. [MapStarter](http://mapstarter.com/) is another similar service, though it only allows you to export the data as an image (or a simple web map). + +Oh - and did you know that GitHub [will render any GeoJSON files](https://help.github.com/articles/mapping-geojson-files-on-github/) that you commit to your repo. Fun! + +For any larger or more complex datasets [QGIS](http://www.qgis.org) is a great open source cross-platform tool for viewing any and every type of spatial data. + +# Converting between data formats + +So you've found the dataset you want, but it's in some bizarre and possibly arcane format (Shapefiles, MapInfo TAB file - I'm looking at you! [on behalf of the entire spatial industry I apologise for these two formats still existing]) and you want to convert it to something more developer friendly and modern (e.g. GeoJSON, CSV, KML). + +For small datasets (< 10mb) [MyGeoData](http://converter.mygeodata.eu/) will let you convert between most formats. For anything beyond 10mb you'll want to reach for the [GDAL](http://www.gdal.org/ "Geospatial Data Abstraction Library") command-line tools - GDAL is a fantastic open source project that has been embedded in a lot of the software in the spatial world. To translate vector data in GDAL reach for the [ogr2ogr](http://www.gdal.org/ogr2ogr.html) command (if you're on Windows [ogr2gui](http://www.ogr2gui.ca/en/index.php) is available too), for raster (picture) data [gdal_translate](http://www.gdal.org/gdal_translate.html) will convert almost anything to almost anything else. + +If command-line tools aren't your thing skip down a bit to the section on QGIS for a cross-platform GUI built on, amongst other things, GDAL. + +Oh - and there are GDAL bindings available for [Perl](http://trac.osgeo.org/gdal/wiki/GdalOgrInPerl), [Python](http://trac.osgeo.org/gdal/wiki/GdalOgrInPython), [Java](http://trac.osgeo.org/gdal/wiki/GdalOgrInJava), [C#/.NET](http://trac.osgeo.org/gdal/wiki/GdalOgrInCsharp), [Ruby](http://trac.osgeo.org/gdal/wiki/GdalOgrInRuby), and [R](http://trac.osgeo.org/gdal/wiki/GdalOgrInR). Scroll on down to the [Spatial analysis](#working-with-geographic-data-and-maps-analysis) section for more suggestions of libraries to use in your favourite language. + +![The GDAL project's logo](../imgs/gdal-logo.png) + +# Geocoding - turning an address into coordinates + +Your geocoding needs will likely fall into one of two categories: Needing to geocode an address provided by the user vs needing to batch geocode a set of addresses in a dataset. + +The School of Data has two great introductory posts [Geocoding Part 1: Introduction to Geocoding](http://schoolofdata.org/2013/02/19/geocoding-part-i-introduction-to-geocoding/) and [Geocoding Part 2: Geocoding Data in a Google Docs Spreadsheet](http://schoolofdata.org/2013/02/19/geocoding-part-ii-geocoding-data-in-a-google-docs-spreadsheet/). + +In the former case, your quickest and easiest option is to make use of the [Google Geocoding API](https://developers.google.com/maps/documentation/geocoding/) built on top of Google Maps. Examples are available of a [simple geocoding call](https://developers.google.com/maps/documentation/javascript/examples/geocoding-simple) and an [address search with auto-complete functionality](https://developers.google.com/maps/documentation/javascript/examples/places-searchbox). Caveat emptor - the [Google Maps Terms of Service](https://developers.google.com/maps/terms) do require that the results of geocoding requests are displayed in some fashion on top of a Google Map and limits you to 2,500 requests/day. + +There are some free / open source RESTful APIs for geocoding, which you could happily either wrap a UI around or issue batch requests to yourself. These include the [MapQuest Nominatim Search API](http://developer.mapquest.com/web/products/open/nominatim), the [MapBox Geocoding API](https://www.mapbox.com/developers/api/v3/geocoding/), and the [GeoNames Search API](http://www.geonames.org/export/web-services.html). + +If you're after a more set-and-forget geocoding service that will geocode a whole file of addresses with having to fiddle with making your own API calls then take a look at [CartoDB's](http://docs.cartodb.com/cartodb-editor.html#geocoding-data) geocoding functionality - and [Google Fusion Tables](https://support.google.com/fusiontables/answer/1012281?hl=en) is still kicking around in "experimental" mode ([tutorial here](http://mdl.library.utoronto.ca/guides-help/geocoding-tutorial-using-google-fusion-tables)). + +Lastly, the Python library [geopy](https://github.com/geopy/geopy) provides a convenient API wrapper around almost every geocoding service known to humanity. + +# Analysis + +Unless the spatial part of your project is only for window dressing you're probably going to need to do some analysis between it and other datasets. For instance - you might need to group one of your spatial datasets (like public transport usage) by another (like suburbs) to generate some summary statistics on usage. + +You *could* hack together some code yourself to work it out, but really there are some far better and far far more powerful options available to you. + +![A choropleth map of the city of Derby, United Kingdom, representing an aspect of the population ](../imgs/spatial-analysis.png) + +*Image from [spatia.ly](http://spatial.ly/2012/02/deceptive-in-their-beauty/)* + +## PostGIS + +[PostGIS](http://postgis.net/) is an extension for [PostgreSQL](http://www.postgresql.org/) providing spatial capabilities for both vector and raster data. In spatial database-land it is unequalled in the [sheer range of functions](http://postgis.net/docs/reference.html) it makes available, their ease of use, and speed (it's written in C). + +Seriously, don't waste your time with any other database. + +[Getting up and running is easy](http://postgis.net/install) on any platform, with installers available for Windows, `brew install` or [Postgres.app](http://postgresapp.com/) on OSX, and packages available for all of the major Linux distros. For those inclined to Docker there are [Dockerfiles available](https://registry.hub.docker.com/search?q=postgis&searchfield=). + +If you need more than `psql` on the command-line, [pgAdmin](http://www.pgadmin.org/) is available across all operating systems (and often comes bundled with PostgreSQL anyway). + +Oh - and [Amazon RDS for PostgreSQL](http://aws.amazon.com/rds/postgresql/) comes with PostGIS already installed if for some reason you need that level of scalability. + +### MySQL? SQL Server? et al. + +These are not the spatial databases you're looking for... + +Ok, fine - **technically** you do have spatial functionality in some of the other popular databases. + +[SQL Server](https://msdn.microsoft.com/en-us/library/bb964712.aspx), [MySQL](http://dev.mysql.com/doc/refman/5.0/en/spatial-extensions.html), [Azure SQL](http://www.sqlskills.com/blogs/bobb/azure-sql-database-v12-preview-spatial-fully-functional/), [GeoDB](https://github.com/jdeolive/geodb) or [HatBox](http://hatbox.sourceforge.net/derbyquickstart.html) for [H2](http://h2database.com/), [neo4j-spatial](https://github.com/neo4j-contrib/spatial) for neo4j, and [DynamoDB](https://aws.amazon.com/blogs/aws/new-geo-library-for-dynamodb/) all have spatial support of some kind. + +Quite [a few words](http://stackoverflow.com/a/22576304) have [been written](http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008_postgis_mysql_compare) comparing [spatial databases](http://www.bostongis.com/PrinterFriendly.aspx?content_name=sqlserver2008r2_oracle11gr2_postgis15_compare), so you might want to take a look before committing yourself to one or another. + +tl;dr Avoid MySQL for anything spatial! + +## QGIS + +PostGIS may give you the heavy lifting power to do analysis, but staring at database rows trying to make sense of your results can be made so much easier by visualising them. Enter [QGIS](http://www2.qgis.org/en/site/) - a free and open source cross-platform Geographic Information System with the ability to create, edit, visualise, analyse, and publish spatial information. + +Thanks to being built on top of [GDAL](http://www.gdal.org/ "Geospatial Data Abstraction Library") (amongst others) QGIS is capable of reading and writing almost any format of spatial data that you can throw at it - including direct connections to PostGIS databases. + +![A screenshot of the QGIS application's user interface demonstrating a heatmap with a basemap and an arbitrary vector layer](../imgs/qgis-heatmap.jpg) + +*Image from [pjhooker (Flickr)](https://www.flickr.com/photos/city-planner/16732124571/in/pool-2327386@N22), CC BY-SA 2.0* + +## Language bindings: R (Arrr!), Python, .NET, Ruby, et al. + +If you need to delve down into working with spatial data at the code-level you've got a really rich set of tools at your disposal. + +### Python + +It's not too much of an exaggeration to say that Python is **the** language for doing anything spatial. It has an incredibly rich array of good libraries - far too many to list here - for analysing and manipulating every kind of spatial data under the sun, as well as the means of connecting in to any flavour of spatial data store you care to throw at it. + +For some general words on working with spatial data in Python check out [Manipulimization of whatchamacallems?](http://sgillies.net/blog/986/manipulimization-of-whatchamacallems/) and [GIS with Python, Shapely, and Fiona](http://www.macwright.org/2012/10/31/gis-with-python-shapely-fiona.html). + +And even if Python isn't exactly your cup of tea it's still very much worth a look if it can fit anywhere in your workflow. + +For working with vector data check out [Shapely](http://toblerity.org/shapely/manual.html) (manipulation and querying geometry), [Fiona](https://github.com/Toblerity/Fiona) (a Python API into GDAL/OGR), [pysal](http://pysal.readthedocs.org/en/latest/) (for spatial analysis). + +On the raster side of the equation head straight to [Rasterio](https://github.com/sgillies/rasterio). + +Honourary mentions to [pandas](http://pandas.pydata.org/) (if you need to munge and otherwise play with GeoJSON or CSV files), and [cartopy](http://scitools.org.uk/cartopy/documentation.html) and [nodebox-opengl](http://www.cityinabottle.org/nodebox/) if you need to make pretty pictures or animations. + +There's a more complete list of a bunch of other great Python spatial libraries [over here](http://spatialdemography.org/essential-python-geospatial-libraries/) that's well worth a read. + +We should mention - pretty much anything you can do here you can also achieve with the tools available in a GUI in an application like QGIS. + +### Java + +Ok, so we may have exaggerated Python being the only awesome language for spatial data. Java is almost equally as awesome as Python, with a similarly rich ecosystem of libraries and applications ([GeoServer](http://geoserver.org/) the popular spatial data server is primarily Java-based). + +For playing with vectors cast your eyes over [Spatial4j](https://github.com/spatial4j/spatial4j) (general purpose geospatial data library), [JTS (Java Topology Suite)](http://www.vividsolutions.com/jts/JTSHome.htm) (do things with geometry!), or [Apache SIS](http://sis.apache.org/) + +For everything and anything check out [GeoTools](http://geotools.org/) - the Swiss Army Knife of spatial in Java-land for reading/querying/analysing/rendering vector and raster spatial data. + +### R (Arrr!) + +As a primer you should check out [Starting Analysis and Visualisation of Spatial Data with R](http://www.r-bloggers.com/starting-analysis-and-visualisation-of-spatial-data-with-r/). + +Surprise! There's actually a great StackExchange question [on this very topic](http://gis.stackexchange.com/questions/45327/tutorials-to-handle-spatial-data-in-r). In addition to the resources listed therein, James Chesire has a great (and quite accessible) write-up on his blog at [R Spatial Tips](http://spatial.ly/r/). Robin Edwards also has some great words and examples about [3D Mapping in R](http://www.r-bloggers.com/3d-mapping-in-r/). + +And there's also [spatstat](http://spatstat.github.io/) if you want to delve down into spatial statistics and analysis. + +### .NET + +You'll find pretty reasonable support for spatial data in .NET-land with the likes of: + +[Geo](https://github.com/sibartlett/Geo) - a powerful little .NET 4.0+ library for querying and manipulating vector data. + +[NetTopologySuite](https://github.com/NetTopologySuite/NetTopologySuite) - a port of the aforementioned popular JTS (Java Topology Suite) library for querying and analysing vector data. + +[SharpMap](https://sharpmap.codeplex.com/) - a geo app framework for vector and raster data that includes its own rendering engine. + +[MapWindow](http://www.mapwindow.org/) - an all in one desktop GIS tool + an ActiveX control for mapping + a C# library for handling vector data. + +### Ruby + +Your options are not quite as rich here - but have a look at [geokit](https://github.com/geokit/geokit), [georuby](https://github.com/nofxx/georuby/), and [RGeo](https://github.com/rgeo/rgeo). + +Daniel Azuma's series of blog posts on doing [geospatial in Ruby](http://daniel-azuma.com/articles/georails) is going to be worth your time. + +## A few other tools + +In recent times a few really handy and modern little web tools have popped up for doing simple and/or common tasks with spatial data. + +[geojson.io](http://geojson.io/) for quickly and easily creating, viewing, and sharing vector data as GeoJSON (and other common formats). + +[Ogre](http://ogre.adc4gis.com/) as a web client to the ogr2ogr utility in GDAL. Easily convert between vector formats! + +[GIS Convert](https://www.gisconvert.com/) for easily converting between spatial and spatial-like formats. + +[GeoGig](http://geogig.org/) if you want to apply the principles of Git to spatial data. + +[epsg.io](http://epsg.io/) if you've found some data but it's not in a standard projection (e.g. latitude and longitude, web mercator) then find the "EPSG" code and stick it in here to find out more about it. + +[GitSpatial](https://github.com/JasonSanford/gitspatial) if you just want to wrap a spatial API around your GitHub-hosted GeoJSON data. + +[TopoJSON](https://github.com/mbostock/topojson) an extension for GeoJSON that encodes topology tl;dr it'll make your GeoJSON up to 80% smaller. + +And an honourary mention to [Shape2Earth](http://shape2earthengine.com/shape2earth/Home.html) for allowing the easy creation of maps for Google Earth. diff --git a/_handbookchapters/graph_dbs.md b/_handbookchapters/graph_dbs.md new file mode 100644 index 0000000..52520b6 --- /dev/null +++ b/_handbookchapters/graph_dbs.md @@ -0,0 +1,76 @@ +--- +slug: 'graph_dbs' +title: 'Graph Databases' +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - creating +--- + +# Intro to graph databases + +Graph databases were conceived of as a means to make the task of exploring the connections and networks between entities much easier. Whereas in more traditional databases we would have used a from of link table to represent the relationships between entities, that relationship is implicit in a graph database with every entity containing direct pointers to its adjacent entities without the need to expensively compute indexes. + +One of the more obvious uses for graph databases are to store and analyse the relationships between people - think Facebook, Twitter, or any web property with a concept of followers or memberships. If you have a problem where you need to quickly and efficiently know how X is connected to Y and via whom, than graph databases are worth a look. + +**Tangent Alert!!** While we're talking about networks and relationships we should introduce the concept of "linked data". If you haven't run across the term before (or have, but still don't understand what it means) check out [Linked Data – for the enlightened non-geek reader (or dummies) (or managers)](http://hangingtogether.org/?p=1943) and [A dummy’s introduction to linked data (me being the dummy)](http://mediastandardstrust.org/blog/a-dummys-introduction-to-linked-data-me-being-the-dummy/). + +The GovCamp wiki has a [long list of tools](http://govcampau.wikispaces.com/useful+tools) surrounding linked data that may be of use - [Svgvizler](http://dev.data2000.no/sgvizler/) (for SPARQL graphing), [RelFinder](http://www.visualdataweb.org/relfinder.php) (for RDF visual exploration), and [SPARQL Editor](http://openuplabs.tso.co.uk/demos/sparqleditor) (for interactive SPARQL query building) are useful too. + + +## Graph DB Software + +[Neo4j](http://neo4j.com/) is the popular kid on the graph database block and has a wealth of supporting tools and documentation; and a great community. + +Getting your data into Neo4j can be as straightforward as throwing a spreadsheet containing your data, along with instructions on how to construct the relationships between the entities in your data, at Neo4j. For details and in-depth instructions see [Importing data into Neo4j – the spreadsheet way](http://neo4j.com/blog/importing-data-into-neo4j-the-spreadsheet-way/) and [Gmail Email analysis with Neo4j – and spreadsheets](http://neo4j.com/blog/gmail-email-analysis-with-neo4j-and-spreadsheets/). Alternatively, you can use the [new in-built ETL functionality](http://www.slideshare.net/maxdemarzi/etl-into-neo4j) from Neo4j 2.1 to load your CSV formatted data in directly - check out the official guide on [importing from PostgreSQL to Neo4j](Import Data Into Neo4j). + +But sometimes you just can't escape [writing some code](http://www.slideshare.net/maxdemarzi/etl-into-neo4j) to get the job done, and to that end the official Neo4j website has [curated a list of libaries](http://neo4j.com/developer/language-guides/) for many of the major languages. Neo4j also has a [REST batch import API](http://neo4j.com/docs/milestone/rest-api-batch-ops.html) if you want to get right down to the coalface. + +Neo4j isn't the be all and end all of graph databases, and we'd be remiss if we didn't mention the likes of [OrientDB](http://www.orientechnologies.com/), [Titan](http://thinkaurelius.github.io/titan/), and [Stardog](http://stardog.com/). + +Many of the graph databases you'll come into contact with can be queried via a common syntax called [Gremlin](https://github.com/tinkerpop/gremlin/wiki) - where Gremlin is to graph databases as SQL is to traditional RDBMS dabatases. Applications can then be written on top of Gremlin, as you would SQL, and become database largely agnostic. Gremlin also supports a simple data browser application to test execution of queries. + + +## Analysis + +### NetworkX (Python) + +[NetworkX](http://networkx.lanl.gov/index.html) (from the Los Alamos National Laboratory) is a social network analysis library for Python. With a large range of advanced analysis functions built-in (e.g. finding communities within a graph), and good support for importing data into graph databases. For more see [Introduction to Social Network Analysis with NetworkX](http://www.cl.cam.ac.uk/~cm542/teaching/2011/stna-pdfs/stna-lecture11.pdf). + +### R (Arrr!) + +**Of course** there are R packages for graph databases! + +[Social Network Analysis in R](http://www.slideshare.net/ianmcook/social-network-analysis-in-r), +[Making prettier network graphs with sna and igraph](http://is-r.tumblr.com/post/38240018815/making-prettier-network-graphs-with-sna-and-igraph), and +[RNeo4j](http://nicolewhite.github.io/RNeo4j/) should get you pointing in the right direction. + + +## Visualisation + +Graph databases represent complex networks, so it turns out creating useful visualisation can be a tad hard - for an intro to the subject see [Visualising Networks: Beyond the Hairball](http://www.slideshare.net/OReillyStrata/visualizing-networks-beyond-the-hairball). + +### Tree and hierarchy visualisation + +What if your network isn't actually a network and more like a tree or straight hierarchy (i.e. it has no interconnections between entities)? + +Congratulations, you can use tree visualisations! It'll be faster and far more visually effective than any other options. + +[TreeViz](http://www.randelshofer.ch/treeviz/) is a good start if you just need to run it locally (it's a Java app), but D3.js [can also visualise trees](http://bl.ocks.org/mbostock/4063550) (see [this tutorial](http://blog.pixelingene.com/2011/07/building-a-tree-diagram-in-d3-js/) for step-by-step instructions). D3.js also supports enclosure diagrams (aka circle packing) that [may better represet](http://bl.ocks.org/mbostock/4063530) your tree structure than an actual tree would. + +### Flow visualisation + +But sometimes you care less about the connections in your network and more about the weight those connections have (e.g. the # emails sent between connections) - well for that you want a flow visualisation like a [sankey diagram](http://bost.ocks.org/mike/sankey/) that will visualise the magnitude of flow between nodes in a network + +### Other visualisation tools + +[NodeXL](http://nodexl.codeplex.com/) for Excel allows you to visualise networks/graphs quickly from right inside Excel. + +[Gephi](http://gephi.github.io/) is a great desktop tool for interactive visualisation and exploration platform for networks and hierarchial systems. It comes with many good automatic layout algorithims (even for huge graphs) and can easily handle many types of input file, including [spreadshets of Tweets](http://dfreelon.org/2013/04/26/spreadsheet-converts-tweets-for-social-network-analysis-in-gephi/). + +[Cytoscape](http://www.cytoscape.org/) is like Gephi, but more on the 'platform' end of the spectrum. It was originally designed for use in the biological sciences, but has evolved to become a general tool for complex network analysis and visualisation. Cytoscape supports a rich ecosystem of (Java) plugins (aka "Apps") that allow you to customise and extend the base functionality. + +[Cytoscape.js](https://github.com/cytoscape/cytoscape.js) Like Cytoscape, but written in JavaScript! + +[sigma.js](http://sigmajs.org/) is a simple and elegant JavaScript library solely designed to be aweosme at graph drawing. Give it a JSON blob and it'll spit out a nice looking Canvas or WebGL visualisation of the network. And it also speaks the same formats that Neo4J, Gephi, et cetera can export. Sigma.js also supports [filtering and searching](https://github.com/jacomyal/osdc2012-sigmajs-demo) the visualisations it generates. diff --git a/_handbookchapters/hackerspace_intro_2016.md b/_handbookchapters/hackerspace_intro_2016.md new file mode 100644 index 0000000..9086945 --- /dev/null +++ b/_handbookchapters/hackerspace_intro_2016.md @@ -0,0 +1,140 @@ +--- +slug: 'hackerspace_intro_2016' +title: 'Hackerspace intro 2016' +last_updated: '2016-07-24T17:54:27.623Z' +categories: + - comp +tags: +--- + +## Welcome + +Hackerspace is the Official GovHack competition submission site for GovHack 2016. + +Hackerspace is used in the competition to : + +* Registration of all members of the team as a separate user (mandatory) + +* Tool to create and submit Team Project page which capture all element of your competition entry + +* Judges portal to view and judge validated project pages submitted for each prizes category. + +* Webportal to showcase and share GovHack 2016 Project entries + +## Competition Portal + +All information relating to the competition is available from GovHack website portal available at [2016.govhack.org](http://2016.govhack.org) including + +* Competition handbook + +* Competition rules + +* Judge Criteria + +* Official Datasets that must be used + +* Data mentors + +## Before submitting + +Prior to submitting an entry in Hackerspace it is requirement that you read the GovHack Competition Rules which sets out: + +* What you can submit as a Hack + +* Submitting your entry + +* Using open data + +* Eligibility for prizes + +* Nature of Submission + +* Authorised materials + +* Right to remove + +* Disclaimer + +Brief overview of competition + +* GovHack + +You MUST have all parts of your competition entry submitted by 5:00pm Local time. + + * A descriptive project page + + * Prize categories nominated + + * Official Open Data reused - URLs + + * Evidence Repository URL + + * Video URL + + * Demo URL** **(Optional) + +**A descriptive project page** must be created for each project + + * Team members and Team Captain + + * Project Description + + * An image that best captures your concept e.g a logo or Image. + + * Nominate Prize Categories - nominate for multiple prizes and from all levels of competition that you can view including International, National, Regional and Local prizes.Check you fulfill any special Prize category eligibility criteria such as a specific datasets. + + * Nominate for Team awards available this year. + +## Record data used + +Fill in the Dataset URL for each and explain how this data was used in your entry. Only records of datasets predominantly used is required. For each prize category you nominate make sure you check for any specific data reuse eligibility requirements. This field will be used to validate the eligibility of your entry. + +## Evidence Repository URL + +This is your proof of concept.** **You must provide evidence of your work over the weekend any code, graphics,plans, drawings, mashups, applications, website URLs, models, photos of each stage to create your artistic representations. Submit a link to a digital repository such as a google folder or a Source code URL such as GITHUB **(Mandatory)** + +* ** A maximum 3 minute Video entry - (Must submit actual Video URL not link to another website) **This a video pitch of your entry that tells a story of how you have reused data. The video should demonstrate your hack concept, the benefits or value the concept could achieve and where possible introduce your team. The most common method is to use a screencast, with a voice-over narration. + +* Note: Judges will stop watching videos after 3 minutes **(Mandatory).** + +* **Demo URL **( Optional) If judges are able to see and play with it that is useful, but this is a minor component of the judging. + +## Timeframes to register and submit: + +* **7pm Friday Local time** – Hackerspace opens and prize categories are announced for your region + +* **12pm Saturday Local time**-all competitors must register as a user on Hackerspace. + +* **5pm Saturday Local time** – A Team Project Page and your prize category nomination must be completed in Hackerspace. Record all your team members on your project page and the URL to your evidence repository (proof of concept). No new projects pages can be created after this time. You are still able to edit your project page after this time. + +* **3pm sunday - finalise your project page** including the URL of datasets and how you have used the data. + +* **4pm Sunday Local time** – Your video should be finalised and a URL linking to your video created to load on your Project page. It may take some time for your video to load once you have started the process but get the URL entered on your page. + +* **5pm Sunday local time** – You MUST have all parts of your competition entry submitted by 5:00pm Local time. + + * A descriptive project page + + * Prize categories nominated + + * Data used + + * Evidence Repository URL + + * Video URL + + * Demo URL** **( Optional) + +## Using Open Data + +You will find the list of Official data available for the GovHack competition in the[ Official Datasets list](http://portal.govhack.org/datasets.html). You must use at least one Official dataset to be eligible for prizes. Official Data includes individual datasets featured and all data discoverable on official Government data portals that are published on the Official Dataset list. + +You will need to Record the URL of the most prominent data you have used on your Hackerspace project page. Remember judges love to see their data reused :) + +For each prize category you enter, please check the eligibility requirements to see if any specific data needs to be reused to meet judges criteria. To maximize your chances to win National and Local prizes we recommend you mash up National and Local official data, giving you a chance in as many categories as possible. + +Some datasets listed on data portals may have additional resources available with further information on how to use the data or other supporting material. You are encouraged to download and use these resources. + +Several competition goals require entries must use at least one of the datasets provided for this contest, but you are free to use data from the official GovHack list or other datasets as long as their licensing terms permit usage for this purpose. You may also use any publicly accessible web services as long as it does not incur a financial cost to use (private and subscription APIs are prohibited due to licensing issues and barrier to entry). + + diff --git a/_handbookchapters/ibm_bluemix.md b/_handbookchapters/ibm_bluemix.md new file mode 100644 index 0000000..a6c50ce --- /dev/null +++ b/_handbookchapters/ibm_bluemix.md @@ -0,0 +1,26 @@ +--- +slug: ibm_bluemix +title: IBM Bluemix +tile: + image: https://www.govhack.org/wp-content/uploads/2016/07/Bluemix-logo-right.png + image_max_width: 600px + button_label: Get a Bluemix Trial +last_updated: '2016-07-25T07:11:48.836Z' +categories: + - toolkit +tags: + - creating + - cloud + - hosting +--- +## IBM are offering a free 90-day trial of Bluemix for GovHack participants + +IBM Bluemix is a cloud platform-as-a-service for building innovative applications at speed. GovHack participants can spin up building blocks in the Bluemix catalog, such as data cleansing, analytics, and cognitive capabilities, to compose sophisticated applications in a short time. For example, Bluemix enables you to create a database instance and a PHP runtime in minutes without having to install any server, and you can start leveraging weather information, Twitter, and cognitive capabilities such as text analytics to enrich your application. You can either use Bluemix to build the entire app, or mix and match this platform with IaaS and other tools to speed up your project. + +IBM offers a 90-day trial of Bluemix for GovHack participants. IBM technical mentors will be available over the course of the weekend at various locations during the hackathon to help you. + +You can register for Bluemix now at [www.bluemix.net](http://www.bluemix.net) + +To get started with Bluemix, here is a link to [information and tutorials](https://ibm.box.com/s/jqedu4br965poefsbdfvwczlkyu5dj2t). + +Any team that uses one or more Watson services or Data and Analytics services from the IBM Bluemix catalog will go into the draw to win a prize for their team. \ No newline at end of file diff --git a/_handbookchapters/judging_criteria.md b/_handbookchapters/judging_criteria.md new file mode 100644 index 0000000..91906ef --- /dev/null +++ b/_handbookchapters/judging_criteria.md @@ -0,0 +1,39 @@ +--- +slug: 'judging_criteria' +title: 'Judging Criteria' +last_updated: '2016-07-29T06:44:01.378Z' +categories: + - comp +tags: + - submitting + - prizes + - hackerspace +--- + +## Judging Criteria + +All GovHack entries will be judged by the GovHack Competition Judging Panels against the following criteria: + +* Mandatory elements submitted in Hackerspace on time + +* relevance to the prize category description + +* specific prize eligibility criteria detailed (if any) e.g. data use + +* originality of concept + +* civic value + +* visual design and usability + +* degree to which open data has been used + +* technical or creative skills demonstrated + +## Judging + +The GovHack competition judges will choose all winners. The judging panels for prizes will consist of a mix of GovHack organisers, government agency representatives and industry sponsors as appropriate for each prize. + +All Submission elements detailed in [Submitting your entry](http://portal.govhack.org/handbook/comp/submitting_your_entry.html) section of this document must be completed by the required time. No requests for extensions will be considered. Final arbiter is the judging panel whose decision is final. No correspondence will be entered into. This is a competition of skill. Chance plays no part in this competition. Judges are not eligible to compete for prizes and can not judge teams where a conflict of interest may arise. + + diff --git a/_handbookchapters/kids_who_code.md b/_handbookchapters/kids_who_code.md new file mode 100644 index 0000000..d378e18 --- /dev/null +++ b/_handbookchapters/kids_who_code.md @@ -0,0 +1,26 @@ +--- +slug: 'kids_who_code' +title: 'Kids Who Code' +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - competing +--- + +We think it's awesome that kids are wanting to learn how to code - so if that's you we've collected together a few online tutorials to guide you through some practical example of coding. There are many levels of difficulties amongst tutorials that you can explore and have fun with! + +# Coding for Kids +[code.org - Learn an Hour of Code](http://code.org/learn/beyond) + +[Code Academy - Learn to code interactively](http://www.codecademy.com/) + +[Microsoft Research - touchdevelop](https://www.touchdevelop.com/app/) + +[LearnToMod - Minecraft Modding Software](http://www.learntomod.com/) + +# Create Stories, Games, and Animations +[MIT's Scratch - A creative learning community](https://scratch.mit.edu/) + +# Create Infographics/Picture Charts +[Piktochart - An easy-to-use inforgraphic creator](http://piktochart.com/) diff --git a/_handbookchapters/making_maps.md b/_handbookchapters/making_maps.md new file mode 100644 index 0000000..b0d4ba1 --- /dev/null +++ b/_handbookchapters/making_maps.md @@ -0,0 +1,91 @@ +--- +slug: making_maps +title: Making Maps +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - creating +--- + +# In which we play at being cartographers + +Righto, so you've got some data and need to provide a map for your users to view and interact with all of your lovely new data. Good news, you're spoilt for choice! (Are you detecting a theme here?) + +Web mapping loosely falls into two categories: + +1. JavaScript libraries that will let you build and customise the map interface (2D and/or 3D) to your heart's content, but require you to host the data, or plug it into other people's web mapping services. + +2. Software as a Service platforms that provide simple and powerful GUIs for the creation of maps and support hosting of all sorts of different data formats. + +And, of course, there's some grey area between the two - with many libraries supporting standard web mapping protocols like WMS, WMTS, and WFS - and with several of the SaaS platforms providing their own JavaScript client libraries to allow users to craft their own map interfaces. + +These days a lot of the modern libraries and platforms have been optimisied to work well on mobile devices, and in some cases have separate libraries for developing native apps on iOS and Android. + +Oh, and if you're completely new to web mapping check out [mapschool: a free introduction to geo](http://mapschool.io/) to get yourself up to speed on the concepts behing web mapping. The New York Public Library also has a great, and pretty exhaustive runthrough, of making your first web map: [From Paper Maps to the Web: A DIY Digital Maps Primer](http://www.nypl.org/blog/2015/01/05/web-maps-primer). + +![A photograph of the Mappa Mundi, Hereford Cathedral](../imgs/mappa-mundi.jpg) + +# MaaS (Maps as a Service) + +At presents there are two main players in the SaaS mapping space: [CartoDB](http://cartodb.com/) and [MapBox](https://www.mapbox.com/). + +They both do a great job of covering the basics of map building with quick and easy tools for uploading data and push-button interfaces that abstract away alot of the more complex spatial side of spatial data. They both also have generous free usage tiers. + +CartoDB tends to focus more on the "make really pretty vector maps" side of the equation, with great visualisation tools like [Torque](http://blog.cartodb.com/torque-is-live-try-it-on-your-cartodb-maps-today/) (beautiful animations with time series data), powerful and simple [push-button visualisation of data](http://cartodb.com/visualize/), and a wonderful [SQL API](http://docs.cartodb.com/cartodb-platform/sql-api.html) for interacting directly with their PostGIS backend from the client. Oh - and they also have [some support for 3D](http://cartodb.com/case-studies/3d-bogota/) and can handle huge datasets, like [colouring every river in the US](http://cartodb.com/gallery/river-direction/). + +And lastly, CartoDB comes with a powerful [point-and-click map building GUI](http://docs.cartodb.com/cartodb-editor.html#visualizations) or, if you need more control, the [CartoDB.js](http://docs.cartodb.com/cartodb-platform/cartodb-js.html) library exposes all of the same functionality. Oh, and did we mention that it's open source and you can [run your own CartoDB instance](https://github.com/CartoDB/cartodb)? + +![A screenshot of the CartoDB Editor web interface](../imgs/cartodb-interface.png) + +[MapBox](https://www.mapbox.com/) focuses slightly more on the traditionally geospatial side of things, with a powerful desktop map designer, [MapBox Studio](https://www.mapbox.com/mapbox-studio/) (which can process raster as well as vector data), some great work on [tools for processing](https://www.mapbox.com/blog/landsat-live-live/) [satellite imagery](https://www.mapbox.com/blog/processing-landsat-8/), developing the [vector tiling](https://www.mapbox.com/developers/vector-tiles/) standard, and pushing the boundaries of web mapping with [MapBox GL](https://www.mapbox.com/mapbox-gl/). On top of all of that they also maintain [iOS](https://www.mapbox.com/mapbox-ios-sdk/) and [Android](https://www.mapbox.com/mapbox-android-sdk/) SDKs, the [Mapbox.js](https://www.mapbox.com/mapbox.js/api/) library; and APIs for [surface heights](https://www.mapbox.com/developers/api/surface/), [geocoding](https://www.mapbox.com/developers/api/geocoding/), and [directions](https://www.mapbox.com/developers/api/directions/). + +And a couple of honorary mentions: + +[GeoServer](http://geoserver.org/) is an open source spatial data server that may be worth you're look if you're having to deal with larger or more complex datasets that CartoDB/MapBox can't handle - or can't handle without charging you for the pleasure. GeoServer also has support for more advanced functionality like WCS and WPS for extracting raw data from rasters on-the-fly, or writing proceses to perform geospatial analysis on-the-fly. You can run GeoServer on its own, or in combination with other packages via the [OpenGeo Suite](http://boundlessgeo.com/solutions/opengeo-suite/) or [GeoNode](http://geonode.org/). + +ESRI's ArcGIS software suite is worth a brief mention as the main commercial provider of geospatial software in the world, including its SaaS [ArcGIS Online](https://www.arcgis.com/home/) platform - which provides a 60-day free trial, after which you're required to pay (handsomely). + +## NationalMap (aka TerriaJS) + +And finally, a most honourary mention to the [NationalMap](http://nationalmap.nicta.com.au/) project out of the Department of Communications and developed by NICTA. NationlMap [runs on a powerful little open source stack](http://nationalmap.nicta.com.au/help/About.html) comprised of Cesium, Leaflet, topogeojson, Jasmine, et cetera. While NationalMap, being primarily a client-side viewing framework, isn't a true "Maps as a Service" platform it does have a nifty hidden feature - you can [pass it the URL to a JSON file](http://nationalmap.gov.au/help/HowTo.html#DisplayMyOwnSpatialData) and use an iframe to embed the result in your webpage. + +Ta-da! Instant map :) + +![A screenshot of NICTA's National Map web mapping app](/resources/toolkit-imgs/national-map-overlay.jpg) + +There's also some work going on to turn NationalMap into a standalone single page JS library called [TerriaJS](https://github.com/TerriaJS/TerriaJS) - so watch this space for GovHack 2016! + +# JavaScript mapping libraries + +These past few years have seen an explosion in the numbers of JavaScript libraries for creating rich web mapping interfaces. + +[OpenLayers](http://openlayers.org/) is probably the most mature player on the stage, and has recently undergone a ground-up rewrite of the library to simplify the API and leverage modern web technologies like WebGL, Canvas, and the full capabilities of HTML5 and CSS3. It even has support for true 3D web mapping via its [OL3-Cesium](http://openlayers.org/ol3-cesium/) plugin which seamlessly integrates the [Cesium](https://cesium.agi.com/) WebGL 3D globe library. + +[Leaflet](http://leafletjs.com/), the relatively new kid on the block, started as a protest against other web mapping libraries that required a fair amount of knowledge of geopsatial data to use effectively. As such, it is a super simple API and a more limited range of features than the likes of OpenLayers (but has a large library of community-developed plugins that can help address that gap). + +[ModestMaps](http://modestmaps.com/) is an even simpler library again than Leaflet, with a simple API and a focus on the core functionality of producing interactive maps easily. + +[Turf](https://www.mapbox.com/blog/turf-gis-for-web-maps/) has been developed by the MapBox team and bills itself as "GIS for web maps" with support for common geospatial operations like buffering, contours, hexbinning, et cetera performed all in the client. Turf also integrates easily with Leaflet and MapBox.js. + +## SVG-powered mapping data visualisations + +If you're looking at maps as more of a data visualisation tool then the subcategory of web mapping libraries that play in the SVG space are probably more appropriate for your needs. + +Well we couldn't not mention [D3.js](http://d3js.org/) in talking about data visualisation. Michael Bowman's [Designing Beautiful Maps with D3.js](http://bowmanmc.github.io/designing_maps/) talk is worth a look to familiarise yourself with the topic, and then head on over to this [truly exhaustive list](http://bl.ocksplorer.org/#/search/d3.geo) of examples of using D3 for maps on [bl.ocksplorer.org](http://bl.ocksplorer.org). + +![A screenshot of the D3.js homepage](/resources/toolkit-imgs/d3js.jpg) + +The team behind the graphing library Highcharts have a separate [Highmaps](http://www.highcharts.com/maps/demo) library that makes creating mapping data visualisations a breeze. + +Lastly [Polymaps](http://polymaps.org/) is a bit of a hybrid library in that it provides image and vector-tiled maps via SVG, so you can mix up your choice of basemap (OpenStreetMap, Bing, et cetera) with your image and vector data easily. + +## Web mapping frameworks + +The last sub-category of web mapping library worth a mention are the rich web mapping frameworks that exist to provide a whole UI framework around the map itself (i.e. map toolbars, layer trees and controls, advanced data query UIs, et cetera). + +First and foremost is the beautiful, modern, and AngularJS-based framework [map.geo.admin.ch](https://github.com/geoadmin/mf-geoadmin3) that the Swiss Federal Office of Topography has open sourced for all to use - check out [a demo](http://map.geo.admin.ch/). + +If you're a Sencha fan the [GeoExt](http://geoext.org/) library is worth a look - though note that there are different versions for ExtJS 3 and ExtJS 4/5. In a similar vein you'll find both [GeoMOOSE](http://www.geomoose.org/) and [MapBender](http://mapbender3.org). + +And lastly, [MapFish](http://mapfish.org/), a lighter framework than its cousins, and based on the older version of OpenLayers, but with a standalone Java library for printing web maps in [MapFish Print](http://www.mapfish.org/doc/print/). diff --git a/_handbookchapters/mentors.md b/_handbookchapters/mentors.md new file mode 100644 index 0000000..8d247ba --- /dev/null +++ b/_handbookchapters/mentors.md @@ -0,0 +1,17 @@ +--- +slug: mentors +title: Mentors +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - competing +--- + +# Your Mentors + +GovHack is supported by an awesome group of mentors from a wide range of disciplines who've volunteered to provide assistance to teams. We'll also have mentors who provide insider advice about the datasets (data custodians), and others who have expertise in a wide range of technologies and skills (tech mentors) to help you and your team get the best outcomes possible during the competition. + +Check out the [Portal Mentors page](http://portal.govhack.org/mentors.html) for more information on how to get in touch with your awesome mentors. + + diff --git a/_handbookchapters/microsoft_azure_free_passes.md b/_handbookchapters/microsoft_azure_free_passes.md new file mode 100644 index 0000000..fc0cbb4 --- /dev/null +++ b/_handbookchapters/microsoft_azure_free_passes.md @@ -0,0 +1,53 @@ +--- +slug: microsoft_azure_free_passes +title: Microsoft Azure free passes +tile: + image: https://assets.govhack.org/img/handbook/ms-azure-600.png + image_max_width: 300px + button_label: Get Azure passes +last_updated: 26 Jul 2016 +categories: + - toolkit +tags: + - creating + - hosting + - cloud +--- + +## Microsoft are offering Free $300 Azure passes + +**There are just 50 up for grabs so be quick and have your team claim a pass** + +50 participating GovHack teams can register to receive their free pass worth $300 US (expires Sep 14th). Once you receive your passcode please visit [www.microsoftazurepass.com](http://www.microsoftazurepass.com/) to set up your Azure account. + +**Please [fill in this form](https://govhack.formstack.com/forms/azure_request) to get your Azure pass.** + +## What is Microsoft Azure + +What is Azure? In short, it’s Microsoft’s cloud platform: a growing collection of integrated services—compute, storage, data, networking, and app—that help you move faster, do more, and save money. But that’s just scratching the surface. + +From App Services, Machine Learning, Mobile Engagement and more. Here’s a list of what you get as part of [Azure for FREE](https://azure.microsoft.com/en-us/free/pricing-offers/). + +## It’s IaaS + PaaS + +Azure is the only major cloud platform ranked by Gartner as an industry leader for both infrastructure-as- a-service (IaaS) and platform-as- a-service (PaaS). This powerful combination of managed and unmanaged services lets you build, deploy, and manage applications any way you like for unmatched productivity. + +## It’s hybrid ready + +With Azure, data storage, backup, and recovery become more efficient and economical. It’s also easier to build applications that span both on-premises and the cloud.  + +## It’s open and flexible + +Azure supports any operating system, language, tool, and framework— from Windows to Linux, SQL Server to Oracle, C# to Java. It puts the best of Windows and Linux ecosystems at your fingertips. + +## It’s always up, always on + +You’ll share the same enterprise-tested platform that powers Skype, Office 365, Bing, and Xbox. Azure offers a 99.95% availability SLA, 24x7 tech support, and round-the- clock service health monitoring. That’s why more than 57% of Fortune 500 companies rely on Azure today. From live streaming Olympic events to online multiplayer online games, our customers are doing some amazing things. + +## It’s economical and scalable + +Azure can quickly scale up or down to match demand, so you only pay for what you use. + +## It’s everywhere + +Azure runs on a growing global network of Microsoft-managed datacenters across 13 regions. \ No newline at end of file diff --git a/_handbookchapters/mobile_dev.md b/_handbookchapters/mobile_dev.md new file mode 100644 index 0000000..5bd4df4 --- /dev/null +++ b/_handbookchapters/mobile_dev.md @@ -0,0 +1,22 @@ +--- +slug: mobile_dev +title: Mobile Development +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - creating + - app +--- + +# Device agnostic mobile web development + +If your project involves development for mobile devices you've got a choice to make: take a web-based approach or pick a platform and develop a native app. The former will likely be the quicker approach (unless you're a gun Android/iOS developer already) and give you a chance of getting something workable hacked together in time. + +On the hybrid web-native side of the equation [PhoneGap](http://phonegap.com/), [Cordova](http://cordova.apache.org/), and [Ionic](http://ionicframework.com/) are all excellent tools for writing apps in HTML, CSS, and JavaScript that can be packaged up to run as native apps on any device. + +If you want to stick with the pure web app approach [Sencha Touch](http://www.sencha.com/products/touch) and [jQuery Mobile](http://jquerymobile.com/) are both easy to pick up and use. + +# Backend frameworks for native apps + +Going down the path of native application development can give you a really slick looking project, but it does give you a lot more to consider than a simple web app might. [Helios](http://helios.io/) and [Parse](https://www.parse.com/) are two backend framworks that'll take care of analytics, notifications, social sign on, and more. diff --git a/_handbookchapters/people_and_wellbeing_at_govhack.md b/_handbookchapters/people_and_wellbeing_at_govhack.md new file mode 100644 index 0000000..a821ba8 --- /dev/null +++ b/_handbookchapters/people_and_wellbeing_at_govhack.md @@ -0,0 +1,104 @@ +--- +slug: 'people_and_wellbeing_at_govhack' +title: 'People and Wellbeing at GovHack' +last_updated: '2016-07-29T04:30:02.388Z' +categories: + - comp +tags: + - competing + - rules + - event + - venue +--- + +## **People** + +There are over 2000 people who participate in GovHack in some way including volunteers, participants, government representatives, technical mentors and are fabulous GovHack event organisers. Participants hail from all walks of life and bring a mish mash of diversity and amazingness to the event! + +## **Teams** + +We expect that you will be part of a team already, or will join a team at the start of the competition. You are allowed to compete as an individual, but we highly recommend you find other awesome people and join a team. There is no maximum size for a team. The best teams have a mix of skill sets. If you don’t have a team, find a local crew member who will help you meet other GovHackers looking for a team. + +if you don’t have a team then can come to the GovHack Connections event in your state to connect with other like minded participants to form a team. GovHack connections event will be held early July, details will be released soon. + +## **Wellbeing at GovHack** + +Taking care of yourself sounds pretty basic, but it’s surprisingly easy to forget over an intense 46 hours at a hackathon. Here are a few glaringly obvious things to bear in mind. + +* Try not to get too stressed. (It helps to set realistic expectations, and to focus on having something ready to demo – perfectionism and feature creep aren’t your friends at a hackathon. And don’t forget to back-up your work, to avoid any last-minute panic.) + +* Stretch! + +* Make sure you eat and drink regularly, and not just caffeinated drinks. Hydration is important. + +* Take breaks, go outside in the sunshine, tune out the world with headphones. + +* Meal breaks are the perfect time to take a real break and also make new friends or get fresh air + +* Remember to take any medication that you need. + +* Try to get plenty of sleep. (We don’t recommend being that person who works all night and doesn’t sleep. This recommendation may be based on real life experience.) + +## **Photography, video and audio recording** + +GovHack is subject to extensive recording in video, audio and photographic form. By attending, you acknowledge and accept that you may be the subject of such recording, which may be shared through digital media in relation to GovHack events. We will seek to accommodate any specific wish not to be recorded, but cannot guarantee you will not be recorded in some form. + +## **Social media** + +Twitter will be the primary social media platform that will be used and monitored throughout the event. + +Questions, comments, mentions, and cat GIFs can be directed to the National GovHack Twitter account, or to your local GovHack event account. + +### **Handles and Hashtags** + +*#GovHack @GovHackAU — see our **[Social Medi*a](http://socia/)* page for more* + +Please also share your photos of the event through Instagram tagged #GovHack, Flickr tagged #GovHack, or other channels! A list of our handles/hashtags can be found on our [social media page](https://www.govhack.org/get-involved/social-media/) and on [our newsroom](http://blog.govhack.org/). + +## **Public transport** + +Consult your [local event](http://www.govhack.org/locations/) for information on getting there on public transport. + +### **Parking** + +Consult your [local event](http://www.govhack.org/locations/) for information on parking. + +### **Security and building access** + +Consult your [local event](http://www.govhack.org/locations/) for information on venue opening hours. + +Volunteers will be onsite for every hour of the event. After hours, the building will be locked. A phone number will be placed at the entry to the venue if you have trouble gaining access. + +Neither the event organisers nor venue operators can accept responsibility for personal belongings left unattended onsite. If you don’t have a trusted person to look after your belongings, we recommend taking them with you if you leave the venue. + +## **Occupational health and safety** + +OH&S refers to the policies, procedures, legislations and activities, which aim to protect the health and safety of people within a workplace. Specific ways to limit hazards to yourself or another person whilst participating in GovHack are listed below. + +* It is imperative that your health and safety is never compromised. + +* If you have any existing injuries, inform a volunteer + +* If you notice any hazards, report them immediately to a volunteer (e.g. water spillages) + +* Minimise the risk of tripping by getting a volunteer to place gaffer tape over cords, securing them to the floor + +* Place tables and electrical items close to the power outlets whenever possible + +* Bend your knees when you lift + +* If you start to shake, put on some warmer clothes and/or slow down on the coffee/Red Bull + +### **Think before you lift!** + +Manual handling occurs when you are lifting, lowering, pushing, pulling, carrying, moving, holding, and restraining any person or thing. It’s unlikely you’ll have to lift anything heavy at this event – do you really need to be moving that? Check with a GovHack volunteer before moving anything larger than a laptop. + +### **First aid** + +If a person is unconscious or requires an ambulance, immediately dial 000. + +### **Emergency procedures** + +Details of emergency procedures will be introduced to participants during induction and on display within the venue. Make yourself familiar with these procedures at any time you’re onsite. + + diff --git a/_handbookchapters/preparation.md b/_handbookchapters/preparation.md new file mode 100644 index 0000000..5d250a7 --- /dev/null +++ b/_handbookchapters/preparation.md @@ -0,0 +1,65 @@ +--- +slug: data_science +title: Data Science +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - preparing + - planning +--- + +Whilst you're not allowed to actually work on your project until the weekend of GovHack itself, that doesn't mean you can't be preparing and learning new skills and tools beforehand. + +## Become a data scientist in an hour + +There's so much more to working with data than taking your nicely formatted dataset and throwing it at a software package that will generate pretty graphs, or widgets, or maps out of it. That's just the easy bit - what does your data **actually** mean? + +There are three basic rules to follow when doing data science: + +1. *Have a hypothesis* - Always start with a basic hypothesis and keep it forefront in your mind. Don't let yourself get distracted by the shiny tools and end up realising you've made something pretty that doesn't actually answer your original question or prove your hypothesis. + +2. *Have the right tools* - Find the right tools for the job - keep on scrolling down for a wealth of tools for dealing with all sorts of different types of data. + +3. *Analyse and present your findings* - Be upfront and honest in presenting your project. Did you meet your original goal? Was your original hypothesis valid? How did you iterate to get to the final version? + +If you'd like to hone your knowledge check out these handy resources: + +### Data Science +* The *"Understanding Data"* and *"Delivering Data"* chapters of the (free) [Data Journalism Handbook](http://datajournalismhandbook.org/). + +### Visualisation +* [Visualize This: The FlowingData Guide to Design, Visualization, and Statistics](https://booko.com.au/works/955519) by Nathan Yau +* [Data Analysis with Open Source Tools](https://booko.com.au/works/1168452) by Philipp K. Janert +* [Data and visualization blogs worth following](http://flowingdata.com/2012/04/27/data-and-visualization-blogs-worth-following/) (FlowingData) + +Also - don't miss our [Data visualisation and infographics for fun and profit](#data-visualisation-and-infographics-for-fun-and-profit) section for a wealth of useful resources. + +### Statistics +* [Think Stats: Probability and Statistics for Programmers](https://booko.com.au/works/3475110) + +![Illustration from the Data Journalism Handbook](../imgs/data-journalism-handbook.gif ""Look at me: still talking when there's [data] science to do!"") + +*Illustration from the Data Journalism Handbook, CC BY-SA 3.0* + +## On the importance of APIs + +There's a good chance that your project is going to need some sort of API to connect up your backend layer or data store to your frontend interface (be it web-based or otherwise). But APIs are hard, right? Not any more! Where once we used to have to roll our own APIs and handle the lowest level operations ourselves now there are a bevvy of tools and resources to help you make an awesome API quickly. + +### APIs as a Service + +Services like [Mashery](http://www.mashery.com/), [Apigee](https://apigee.com/about/), [ApiAxle](http://apiaxle.com/), and [3scale](http://www.3scale.net/) provide a quick and easy means to bootstrap your API and provide a range of neat features on the side like analytics and easy inspection and diagnosis of API errors. + +### Building and designing your own API + +If you need to dig a little further down and actually build your own API it's worth taking a bit of time to think about the design of your API. There are some great resources are such as the API Evangelist's guide to [Providing and Consuming APIs](http://apievangelist.com/) and Atlassian's [REST API Design Guidelines](https://developer.atlassian.com/docs/atlassian-platform-common-components/rest-api-development/atlassian-rest-api-design-guidelines-version-1). + +[apiblueprint](http://apiblueprint.org/) is well worth a look as a tool that provides both a means of quickly designing an API, as well as automatically generating nice looking documentation. + +### Documenting your API + +Documenting your API well is crucial if you expect anyone else to use it (including other developers on your team) and the tools available are myriad. + +For REST APIs in general check out [Swagger](http://swagger.io/) or [iodocs](https://github.com/mashery/iodocs). In PHP-land [Symfony](http://symfony.com/) (see also - [REST APIs with Symfony2: The Right Way](http://williamdurand.fr/2012/08/02/rest-apis-with-symfony2-the-right-way/)) and [Slim](http://www.slimframework.com/) are worth a look + +In Rails-land take a look at [Apipie-rails](https://github.com/Apipie/apipie-rails). diff --git a/_handbookchapters/prepare_your_video.md b/_handbookchapters/prepare_your_video.md new file mode 100644 index 0000000..4a694f2 --- /dev/null +++ b/_handbookchapters/prepare_your_video.md @@ -0,0 +1,59 @@ +--- +slug: 'prepare_your_video' +title: 'Prepare Your Video' +last_updated: '2016-07-29T15:23:50.102Z' +categories: + - comp +tags: + - creating + - video + - hackerspace +--- + +## Prepare your video + +* An important part of your project is the 3 minute video showing your hack in action which you’ll make to show off your project to the competition judges. + +* You are encouraged to include your team name, event location, team members, and to talk about the data you have used and your data reuse story. + +* Videos can be a maximum 3 minutes long. + +* Your video should not take more than a few hours out of your weekend if you keep it simple. + +* We recommend you make a [storyboard](http://www.dummies.com/how-to/content/how-to-create-a-storyboard-for-your-marketing-vide.html) to help plan you video + +* The preferred method is to use a screen capture with a voice-over narration explaining your hack, why you created it, and what is being show in the video. Remember that the judging panel is viewing the videos in isolation and may not have any context around your project. + +* You may mix in other elements with the screencast, such as footage demonstrating the issues your hack addresses, interviews, live action material and actors (ie team members and willing friends) you’ve filmed, etc - but be aware that videos that don’t primarily focus on showing off the hack itself will not be as useful as ones that do. + +## Storyboarding, screencasting, and editing + +* To help with storyboarding your video grab this huge pack of [free story boarding illustrations](https://dribbble.com/shots/1083617-430-FREE-storyboard-illustrations). + +* For screencasting check out software like [Screenr](http://www.screenr.com/), [ActivePresenter](http://atomisystems.com/activepresenter/free-edition/) or [OBS](https://obsproject.com/) that will allow you to record demos of your application. If you have a mac, Quicktime will do the job. + +* For mixing clips together the [YouTube Video Editor](https://www.youtube.com/editor) is super user-friendly; though [VLC](http://www.videolan.org/vlmc) or [LWKS](http://www.lwks.com/) may also be handy. iMovie on a mac or Movie Maker on Windows also work well. + +* Videos can be uploaded via the HackerSpace. You can use YouTube, Vimeo, etc as well. + + Watch [this video from 2013](https://youtu.be/K-GiOtHN4FY) for some hints and tips on [creating a GovHack video entry](https://youtu.be/K-GiOtHN4FY), + +### **Audio** + +Many experienced video producers will tell you that audio can be more important than the visuals in a video. Make sure you give some thought to how you can do this part well. + +* Find a quiet place to record audio. + +* Scripts often need to be recorded several times to fit with the video footage and edited accordingly. + +* Music is a nice touch but make sure you are licenced to use the content :) + +### **Submitting your video** + +* Make sure you allow at least 1 hour to submit your video before the deadline. + +* As soon as you have the URL to the video, add this to your Project Page. + +* Remember you must have the actual URL of the video on your project page and not a link to another website where you have embedded the video. This is an important element used to validate the video was submitted before the deadline. + + diff --git a/_handbookchapters/productive_hacking.md b/_handbookchapters/productive_hacking.md new file mode 100644 index 0000000..e970ca1 --- /dev/null +++ b/_handbookchapters/productive_hacking.md @@ -0,0 +1,41 @@ +--- +slug: data_science +title: Data Science +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - competing + - dev +--- + +# Making your hacking more productive + +So by now you've got your project idea taking shape, and have probably thought a little about your hosting infrastructure, but how do you turn this idea into reality and what tools do you need? + +Well, given the greatly compressed timespan of GovHack anything that can help keep you as responsive flexible - dare I say, [agile](http://www.allaboutagile.com/what-is-agile-10-key-principles/). Use the physical resources you have to hand - pens, butchers paper, post-it notes, a whiteboard (if you can purloin one) to help give your project planning a tangible, physical presence. + + +## Source control and issue tracking + +We're assuming that everyone [already uses some form of source control system](http://kevgriffin.com/the-non-techie-guide-to-source-control/) (Git, Mercurial, maybe SVN) already. If not, get thee to [GitHub](https://github.com/), [GitLab](https://about.gitlab.com/), or [Bitbucket](https://bitbucket.org/) and grab a copy of their respective desktop applications if your code editor doesn't integrate that particular flavour of version control (it probably does). + +For provider-independent source control clients both the [Tortoise family](http://tortoisesvn.net/) of software and [SourceTree](http://www.sourcetreeapp.com/) are well worth a look. + +We've lumped issue tracking for bugs, feature requests, research questions, et cetera in here as well just because almost all good hosted source control providers these days build in some sort of issue trackig functionality. No need to reinvent the wheel or go elsewhere! + +## Project management + +Honestly, your best project management tool for GovHack is probably a whiteboard, or butchers paper blutacked to a wall, with different coloured post-it notes. It gives your an immediate, physical, tangible thing to get up and interact with, look at, scribble on, and easily rearrange that no digital system is going to come close to giving you. + +But if you really want a digital solution then take a look at [Pivotal Tracker](http://www.pivotaltracker.com/), [Trello](https://trello.com/), or [Matterhorn](https://matterhorn.io/). + +## Code editors + +You've all got your own favourite code editor or [IDE](http://en.wikipedia.org/wiki/Integrated_development_environment "Integrated development environment"), right? A hackathon is probably not the best time to learn a whole pile of new keyboard shortcuts, but if you're looking for inspiration go and check out [Atom](https://atom.io/), [Orion](http://eclipse.org/orion/), [Sublime Text 3](http://www.sublimetext.com/3), and [Brackets](http://brackets.io/). + +With honourary mentions going to [Eclipse](https://eclipse.org/downloads/) and [Visual Studio](http://www.visualstudio.com/) if you're after a larger, more fully-featured editor that excels at particular languages or ecosystems. + +## Curated awesome lists of awesomeness + +We're going to list a whole lot of tools and libraries in the rest of this document, but we're so far from covering the full list of what's out there. So if you're after some tools for a particular programming language, platform, frontend or backend development, and so on check out the [curated list of awesome lists](https://github.com/sindresorhus/awesome) (and try not to be too overwhelmed by awesome projects). diff --git a/_handbookchapters/project_hosting.md b/_handbookchapters/project_hosting.md new file mode 100644 index 0000000..c76eaf8 --- /dev/null +++ b/_handbookchapters/project_hosting.md @@ -0,0 +1,66 @@ +--- +slug: project_hosting +title: Project Hosting +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - submitting + - hosting + - cloud +--- + +We've already spoken about how you can submit your project source materials, but you'll more than likely also need a place to host your application on the web. + +## Cloud servers + +If you're building any sort of web-connected application (be it web, mobile, or a desktop application) you'll need a server to host it on. These days virtual servers are a dime a dozen (and often significantly cheaper than that) - be they a blank box with command line access that you setup yourself (aka [IAAS](http://en.wikipedia.org/wiki/Infrastructure_as_a_service "Infrastructure as a service")), or a [PAAS](http://en.wikipedia.org/wiki/Platform_as_a_service "Platform as a service") solution that gives you click-button access to databases, caching layers, system utilities, monitoring, and analytics services - all with a nice GUI to keep you from having to delve into command line hell. + +### Amazon Web Services + +Thanks to the generous support of Amazon Web Services we've got $100 vouchers for each GovHack team. Simply [fill out this form](http://www.govhack.org/amazon-web-services/), including your AWS account number and your team page URL from HackerSpace. + +There is also a free tier of usage available to all new AWS accounts, see the [AWS Free Tier page](http://aws.amazon.com/free/?nc1=h_l3_su) for more information. If you're part of a startup company you might like to sign up for [AWS Activate](http://aws.amazon.com/about-aws/whats-new/2014/05/14/announcing-new-features-in-aws-activate-startup-blog-startup-spotlight-and-the-amazon-toolbox/). + +Those new to AWS should check out the [Getting Started with AWS guide](http://aws.amazon.com/getting-started/). + +### NeCTAR + +The [National Research Cloud](http://nectar.org.au/research-cloud) (aka NeCTAR) is just like Amazon Web Services, however it is run on open source software ([OpenStack](https://www.openstack.org/)) and is for use by academics and researchers in Australia. In physical terms, NeCTAR spans [eight data centres](https://www.nectar.org.au/news/where-are-nectar-cloud-node-sites-located) around Australia (located at top ranked Higher Education Institutions) which have combined to provide the largest Federated Academic Cloud in the world at 30,000 cores. + +Any university student/staff with a valid .edu.au email address can logon right now and use two "small instances / cores" for three months for free. After the initial three month period there is a simple "allocation tab" on the dashboard where you can apply for longer usage or more compute cycles. The allocation form is a simple one page description of your research and how you are using the cloud for that research. + +### Azure, Google Compute Engine, et al. + +Trying to list all of the options for virtual server hosting would be a fool's errand, so here are just some of the most popular [IAAS](http://en.wikipedia.org/wiki/Infrastructure_as_a_service "Infrastructure as a service") and [PAAS](http://en.wikipedia.org/wiki/Platform_as_a_service "Platform as a service") options at the moment. + +Google offers two services in this space - [Google Compute Engine](https://cloud.google.com/compute/) (IAAS) and [Google App Engine](https://cloud.google.com/appengine/) (PAAS). If containerised application development on Docker is your thing they also have [Google Container Engine](https://cloud.google.com/container-engine/) available (in alpha testing). + +Speaking of Docker - [Joyent](https://www.joyent.com/) offers some pretty slick support for Docker along with its traditional [IAAS and PAAS offerings](https://www.joyent.com/partners). + +For smaller scale IAAS-type services both [DigitalOcean](https://www.digitalocean.com/) and [Linode](https://www.linode.com/) have great offerings from a mere $5/month. + +And of coure there's Microsoft's really rather excellent [Azure](http://azure.microsoft.com/en-gb/) services (IAAS/PAAS). You don't even need to be inside the .NET ecosystem to take advantage of them (though it does help a bit). + +Lastly, [Heroku](https://www.heroku.com/) has a great PAAS offering if you need some simple out-of-the-box software that's within their ecosystem. + +### A word on containerisation (Docker) + +Containerisation and, more specifcally [Docker](https://www.docker.com/), is [all the rage right now](http://thomason.io/why-containerization-is-a-key-enabling-technology-for-paas/). If you haven't really run across containerisation before then think of it like server virtualisation on steroids - i.e. In a plain text file you specify the OS you want, the software you'd like installed (Apache, Nginx, Python, whatever), how you want to configure that software, where to find your code (locally, straight from GitHub), and the result is a tiny virtualised server. + +Said tiny virtualised server can then be spun up in minutes either on your laptop, in the cloud, or on your team mate's laptops and all of you will have exactly the same build and configuration. Say goodybe to the headaches of different configurations between development and live applications! + +[Docker](https://www.docker.com/) is the best project in this space at the moment, and they're busy building a great ecosystem including [a marketplace for containers](https://hub.docker.com/) and [tools for orchestrating multiple containers together into more complex applications](https://docs.docker.com/compose/). + +And due to Docker's crazy levels of popularity all of the aforemetnioned cloud server providers (AWS, Google, Azure, ...) have Docker support built-in! + + +## Static website hosting + +If your project, by virtue of its nature, doesn't already have a web presence (e.g. it's a mobile app or a game) then you're very likely going to need host a static website somewhere (i.e. A pile of HTML, CSS, and JavaScript) to give your project a home. + +Probably the easiest and fastest way to achieve that at the moment is via [GitHub Pages](https://pages.github.com/) that hosts a website straight out of your GitHub repository. In addition to that, GitHub Pages provides the option to generate a project site from a collection of pre-built themes and to point your own custom domain at your site. + +If you prefer to start from scratch (on GitHub Pages or elsewhere) [Bootstrap](http://getbootstrap.com/) and [Foundation](http://foundation.zurb.com/) are the two preeminent responsive frontend web frameworks around these days that cut away a lot of the work of making a site look pretty so you can concentrate on content (and your awesome GovHack project). + +Beyond GitHub you could also look at hosting your site for free on [Azure](http://azure.microsoft.com/en-us/documentation/articles/web-sites-publish-source-control/) or creating a static site [on Heroku](http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/). diff --git a/_handbookchapters/receiving_awards.md b/_handbookchapters/receiving_awards.md new file mode 100644 index 0000000..154dba8 --- /dev/null +++ b/_handbookchapters/receiving_awards.md @@ -0,0 +1,54 @@ +--- +slug: 'receiving_awards' +title: 'Receiving Awards' +last_updated: '2016-07-29T06:52:20.276Z' +categories: + - comp +tags: + - submitting + - redcarpetawards +--- + +## Team Captain + +* Each team must nominate one person on their Hackerspace project page as their Team Captain and provide contact details. (GovHack does not accept joint Captains) + +* The Team Captain will be the contact for GovHack organisers to coordinate distribution of prizes after the event. + +* Prize money must be evenly split between all team members of winning teams. + +* If all members of your team are under 18 then please nominate a guardian or the Local Event Organsier who will facilitate the purchase of vouchers to be split winnings amongst the team. + +* Team captain must be available to fly to Adelaide on Saturday the 22nd October 2016 and return on Sunday the 23rd October to represent their team at the National Redcarpet awards. + +## Receiving Awards + +* Some local prizes may be handed out on the Sunday afternoon, but most prizes will be announced at state Awards nights or the National Red Carpet Awards. + +* After GovHack, a limited number of participants who demonstrate real GovHack Spirit and a limited number of finalists will be chosen to fly to the awards. More details to be advised after the main event. + +* The Red Carpet Awards present a great opportunity to celebrate all the clever projects from around the country with sponsors, agencies, media and some high profile special guests! + +* Following the Red Carpet Awards on October 22nd 2016, the captain of each winning team will receive an online prize claim form. This form will facilitate electronic funds transfer of the + +## Awards + +* Cash prizes are **up to the value** stated on the prize. GovHack reserves the right to amend the value of cash prizes if event running costs exceed the total sponsorship collected + +* Prizes may be split between multiple teams. + +* GovHack events are run by volunteers with the generous support of Sponsorship. Sponsorship funds are used to fund the amazing events you attend including GovHack Connections, Govhack competition weekend and the state and National awards nights. This includes the amazing food and beverages you consume over 46 hours!! + +* Cash Prizes values are estimated based on reasonable expectation of costs as at 29 July 2016. However at times there are unforeseen costs that must be covered. + +* Any changes to prize values will be communicated to winners. + +* Unless otherwise stated all cash awards are administered by the GovHack Global Operations team. + +* Development Prizes are administered by the supporting sponsor. Your local event host will provide you with information on how to claim your prize. + +* Any vouchers or hardware detailed as an award will be issued at the relevant Awards night. + +* GovHack reserves the right to not issue an award if Eligibility criteria of the competition or the prize category is not met. + + diff --git a/_handbookchapters/scraping.md b/_handbookchapters/scraping.md new file mode 100644 index 0000000..aaa56c1 --- /dev/null +++ b/_handbookchapters/scraping.md @@ -0,0 +1,34 @@ +--- +slug: scraping +title: Scraping +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - tookit +tags: + - creating + - dev +--- + +# Scraping data from PDFs and the web + +So, somebody gave you a scanned photocopy of the document as PDF? Or a website has some great data, but it's hidden behind an awful JavaScript-heavy interface? No fear - there's some great tools at your disposal to scrape that data and get it into a nicely machine-readable format. + +As always, the School of Data have an excellent series on the ins and outs of extracting data from PDFs and scraping websites - [A gentle Introduction into Extracting Data](http://schoolofdata.org/courses/#GentleIntroExtractingData) - with many useful recommendations of the best tools to use for the job. + +tl;dr? Well there are a few standout tools... + +[Tabula](http://tabula.technology/) is getting a lot of notice for making the process of extracting tabular data from PDFs a (relative) breeze. Download, install, point it at some PDFs and it'll extract any tabula data in them to a nicely machine-readable CSV or XLS file for you. For a more indepth view have a read through [Introducing Tabula](https://source.opennews.org/en-US/articles/introducing-tabula/) (Source news). + +[Apache Tika](http://tika.apache.org/), the older man in the scraping PDFs market, is great for extracting text and metadata from a pile of document formats (PDF, XLS, PPT, ...) - even PDFs containing text in scanned images. OUseful, the Practical Data Journalism blog, has a good walkthroguh of [Getting Text Out Of Anything (docs, PDFs, Images) Using Apache Tika](http://blog.ouseful.info/2015/02/09/getting-text-of-anything-docs-pdfs-images-using-apache-tika/). + +Worth a mention as well is [PDF Tables](https://pdftables.com/) a web-based tool from the folks behind ScraperWiki that pretty much does what it says on the box - pulls tabular data out of any PDFs you provide. + +On the website scraping end of the equation there are a few desktop and web-based tools around - [import.io](https://import.io/), [UiPath](http://www.uipath.com/automate/screen-scraping) (free trial), [Kimono](https://www.kimonolabs.com/), and [80legs](http://80legs.com/) - but sometimes you just need to write code to do it properly. + +[Morph.io](https://morph.io/), which arose out of the demise of ScraperWiki, offers a lightweight scraping framework (Python, PHP, Ruby, or Perl) and a whole web platform and community around scrapers (think Heroku for web scraping). + +In Python-land there's [Scrapy](http://scrapy.org/) - a neat framework for extracting data from the web with a strong community and easily extensible codebase. You can think of Scrapy as being the next level up from libraries like [BeautifulSoup](http://www.crummy.com/software/BeautifulSoup/) and [lxml](http://lxml.de/) (which excel at parsing HTML and XML) in that it incorporates higher level concepts of scraping like spiders, selectors, and items. + +Likewise, [Scrapekit](http://scrapekit.readthedocs.org/en/latest/) is awesome and includes a range of advanced features such as caching, multi-threading, and logging. + +[This Quora post](http://www.quora.com/What-are-some-good-free-web-scrapers-scraping-techniques) has a good thread with suggestions for scraping frameworks in a variety of languages. diff --git a/_handbookchapters/submitting_your_entry.md b/_handbookchapters/submitting_your_entry.md new file mode 100644 index 0000000..e3d4567 --- /dev/null +++ b/_handbookchapters/submitting_your_entry.md @@ -0,0 +1,74 @@ +--- +slug: 'submitting_your_entry' +title: 'Submitting your entry' +last_updated: '2016-07-29T12:38:25.918Z' +categories: + - comp +tags: + - submitting + - hackerspace + - video + - repo + - dates + - times +--- + +## Submitting your entry + +Hackerspace (opened on the Friday of the competition at 7pm) is the Official GovHack competition submission site and allows you to submit all components required for your team’s Govhack entry. + +*Note: submission elements and times are system controlled so not extensions are available!* Teams are required to submit the following as part of their competition entry on Hackerspace: + +* **Register** **all Team members** in Hackerspace + +All team members must be registered as a user with their email. This ensures you get an invite to awards nights and so you can receive any awards you may win. + +* **A descriptive project page** must be created for each project + + * Team members and Team Captain + + * Project Description + + * An image that best captures your concept e.g a logo or Image. + + * Nominate Prize Categories - nominate for multiple prizes and from all levels of competition that you can view including International, National, Regional and Local prizes.Check you fulfill any special Prize category eligibility criteria such as a specific datasets. + + * Nominate for Team awards available this year + +* **Record data used -** For each significant dataset you use record the URL and explain how this data was used in your entry. For each prize category you nominate make sure you check for any specific data reuse eligibility requirements and record the data. This field will be used to validate the eligibility of your entry. + +* **Evidence Repository URL (Mandatory)** This is your proof of concept.** **You must provide evidence of your work over the weekend any code, graphics,plans, drawings, data analysis and cleansing, mashups, applications, website URLs, models, photos of each stage to create your artistic representations. Submit a link to a digital repository such as a Google Drive or Dropbox shared folder (public) or a Git repository such as public GitHub or public BitBucket + +* ** A maximum 3 minute Video entry - (Mandatory, must submit actual Video URL not link to another website)** This a video pitch of your entry that tells a story of how you have reused data. The video should demonstrate your hack concept, the benefits or value the concept could achieve and where possible introduce your team. The most common method is to use a screencast, with a voice-over narration. + + * Note: Judges will stop watching videos after 3 minutes + +* **Demo URL (Optional)** If judges are able to see and play with it that is useful, but this is a minor component of the judging. + +#### **Timeframes to register and submit:** + +* **7pm Friday Local time** – Hackerspace opens and prize categories are announced for your region + +* **12pm Saturday Local time**-all competitors must register as a user on Hackerspace. + +* **5pm Saturday Local time** – A Team Project Page and your prize category nomination must be completed in Hackerspace. Record all your team members on your project page and the URL to your evidence repository (proof of concept). No new projects pages can be created after this time. You are still able to edit your project page after this time. + +* **3pm sunday - finalise your project page** including the URL of datasets and how you have used the data. + +* **4pm Sunday Local time** – Your video should be finalised and a URL linking to your video created to load on your Project page. It may take some time for your video to load once you have started the process but get the URL entered on your page. + +* **5pm Sunday local time** – You MUST have all parts of your competition entry submitted by 5:00pm Local time. + + * A descriptive project page + + * Prize categories nominated + + * Data used - URLs + + * Evidence Repository URL + + * Video URL + + * Demo URL (Optional) + + diff --git a/_handbookchapters/tabular_data.md b/_handbookchapters/tabular_data.md new file mode 100644 index 0000000..b4d56c1 --- /dev/null +++ b/_handbookchapters/tabular_data.md @@ -0,0 +1,67 @@ +--- +slug: tabular_data +title: Tabular data +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - preparing + - dev +--- +# Working with tabular data + +At its simplest, tabular data is data that is stored in rows and columns (hence the name "tabular" i.e. in tables), either in a flat file or a database, and is usually comprised of simple alphanumeric values. CSV/TSV, JSON, XLS(X), and XML are some of the more common formats you'll find tabular data in, though unfortunately it does still often appear in non machine-readable formats like PDF and DOC and most first be extracted and cleaned before being used. + +## Converting between data formats + +There's a good chance that you're going to want to convert your data from the format you've found into something a little more modern and useful (like JSON). [Mr. Data Converter](http://shancarter.github.io/mr-data-converter/) is a simple web-based tool for coverting from Excel, CSV, and TSV to JSON, HTML, MySQL, PHP, Python, Ruby, and more. + +For batching up the conversion process to run across many datasets consider the [dataconvert](http://okfnlabs.org/dataconverters/#source-data-formats-supported) command-line tool developed by [OKFN Labs](http://okfnlabs.org/) for converting from CSV, XLS(X), and JSON to CSV. + +If you need even more control consider the Python libraries [pandas](http://pandas.pydata.org/) (which provides a whole data analysis and modelling framework as well), [tablib](https://tablib.readthedocs.org/en/latest/), or any of the [Science and Data Analysis](https://github.com/vinta/awesome-python#science-and-data-analysis) libraries listed on [Awesome Python](https://github.com/vinta/awesome-python). + +## Cleaning your data + +If your data has had humans involved in entering it then it's probably fully of all sorts of small variations in how the data have been entered that you'll need to clean up before it becomes machine-readable. Fortunately, there are a couple of great tools. + +[OpenRefine](http://openrefine.org/) (formerly Google Refine) is a powerful desktop tool for cleaning messy data, transforming it between different tabular data formats, and even integrates with web services via some simple connectors so you can, for example, geocode a bunch if addresses using Google direclty in OpenRefine. Check out the School of Data's simple [tutorial on using OpenRefine](http://schoolofdata.org/2013/07/15/openrefinelodrefine-a-power-tool-for-cleaning-data/) to see it in action. + +Depending on how badly munged your data is a simple old spreadsheet application may get you most of the way to having clean data - as per the excellent [A Gentle Introduction to Data Cleaning](http://schoolofdata.org/courses/#IntroDataCleaning) series from the School of Data. Their [Cleaning Data with Spreadsheets](http://schoolofdata.org/handbook/recipes/cleaning-data-with-spreadsheets/) walkthrough may also fit the bill. + +If out-of-the-box tools aren't cutting it and you need to dive into code take a look back at some of the Python libraries, like [pandas](http://pandas.pydata.org/), that we recommended in [Converting between data formats](#Converting_between_data_formats). If you're feeling brave take a look at [dedupe](https://github.com/datamade/dedupe), which leverages machine-learning to perform de-duplication and cleansing of data. + +And if all else fails you can always fall back to reliable command-line tools like grep, awk, and sed combined with regular expressions. If you need to upskill your regex foo [Debuggex](https://www.debuggex.com/) and [Regexpr](http://regexper.com/) should set you on the right path. + +## Analysing tabular data + +So you've got a nice clean dataset and now you want to do some analysis on it to understand if reality matches your hypothesis! + +### Spreadsheets + +Sometimes the simplest tools are the best and a spreadsheet is all you need - Excel, afte rall, is the world's most widely used IDE! + +The School of Data has an excellent tutorial [Using Excel to do precision data journalism](http://schoolofdata.org/2013/04/24/using-excel-to-do-precision-journalism-an-update-from-the-school-of-data-journalism-in-perugia/). If you really need to get back to first principles their [Data Fundamentals](http://schoolofdata.org/courses/#DataFundamentals) series would be well worth a look. + +The Sunlight Foundation has a set of good videos as an intro to [Data Visualisation in Google Docs](http://training.sunlightfoundation.com/module/data-visualizations-google-docs/) which also covers analysis. And finally, check out [this rundown of Excel plugins](http://www.clickz.com/clickz/column/2265548/5-free-excel-addins-to-help-digital-marketers-decipher-big-data) for analysing and visualising data. + +### Databases + +When datasets get larger, or the analysis requirements get more complex, you'll probably find yourself reaching for a database to do the heavy lifting. + +The School of Data has a neat little tutorial on [Using SQL for Lightweight Data Analysis](http://schoolofdata.org/2013/03/26/using-sql-for-lightweight-data-analysis/) that'll get you started. If you're playing in PostgreSQL you may find its [window functions](http://www.postgresql.org/docs/9.4/static/tutorial-window.html) of great use to perform calculations across sets within your data. + +For a deep dive on data analysis in PostgreSQL, R, and Python check out [this blog post](R, Python, PostgreSQL (and more): A data science workflow example) from Zev Ross. + +### R (Arrr!) + +R provides a platform for advanced data analysis to let you discover and visualise trends even in large datasets. If you're new to R you should start with [The Guerilla Guide to R](http://www.r-bloggers.com/the-guerilla-guide-to-r/), [basic statistics and graphs in R](https://people.ifm.liu.se/marjon/R_intro_solutions.pdf), and the [official Introduction to R](http://cran.r-project.org/doc/manuals/R-intro.html). To ease the learning curve check out some of the IDEs for R - [RStudio](http://www.rstudio.com/), [Rattle](http://rattle.togaware.com/), and [Deducer](http://www.deducer.org/pmwiki/pmwiki.php?n=Main.DeducerManual). + +The true value of R lies in its huge array of libraries and addons, such as [bigvis](http://blog.revolutionanalytics.com/2013/04/visualize-large-data-sets-with-the-bigvis-package.html) (visualise up to 10 million data points in mere seconds) and the big list of [10 R packages I wish I knew about earlier](http://blog.yhathq.com/posts/10-R-packages-I-wish-I-knew-about-earlier.html). + +To get started with charting in R check out the handy [Getting Started with Charts in R](http://flowingdata.com/2012/12/17/getting-started-with-charts-in-r/) guide, [Simple charts in R tutorial](http://chartsnthings.tumblr.com/post/36978271916/r-tutorial-simple-charts), or some fun [putting pictures of Pokemon where their power level is on an X/Y axis](http://www.r-bloggers.com/to-plot-them-is-my-real-test/). + +When it comes to sharing your analysis with the world check out [Knitr](http://yihui.name/knitr/), for quick and easy report generation, [googleVis](https://github.com/mages/googleVis) for making R and Google Charts talk nicely, and [Shiny](http://shiny.rstudio.com/) for a full-blown web app framework for R to turn your awesome analyses into a shiny interactive web app (such as [this demo](http://blog.ouseful.info/2012/11/28/quick-shiny-demo-exploring-nhs-winter-sit-rep-data/)). + +## Visualising tabular data + +We've already touched on visualisation in previous section on [Resources for building data visualisations](http://localhost:9000/#data-visualisation-and-infographics-for-fun-and-profit-resources-for-building). diff --git a/_handbookchapters/unstructured_data.md b/_handbookchapters/unstructured_data.md new file mode 100644 index 0000000..6f07c4a --- /dev/null +++ b/_handbookchapters/unstructured_data.md @@ -0,0 +1,38 @@ +--- +slug: unstructured_data +title: Unstructured Data +last_updated: '2016-07-24T07:11:48.836Z' +categories: + - toolkit +tags: + - competing + - dev +--- + +Unstructured data covers much of the data you will come across - from data buried in PDFs and web sites, to mining data from social networks, but it all requires analysis to extract meaning. There are many tools for getting at the data - see the previous section on [scraping data](#Scraping_data_from_PDFs_and_the_web) for a range of tools - but the Sunlight Foundation's [Text Analysis in Transparency](http://overview.ap.org/blog/2013/05/video-text-analysis-in-transparency/) talk is a great introduction to that world of text analysis and natural language processing. + + +# Extracting meaning from text + +Once you have your data in a nicer format you may well need to tackle the problem of pulling something meaningful out of it. Fortunately, there are a lot of good analysis and natural language processing libraries around these days that will allow you to [automatically find the meaningful keywords in a body of text](http://thetokenizer.com/2013/05/09/efficient-way-to-extract-the-main-topics-of-a-sentence/). + +Natural language processing may be a bit of a heavy topic to dive into during a hackathon, but if you're feeling brave there are a few [good](http://www.vikparuchuri.com/blog/natural-language-processing-tutorial/) [tutorials](http://idibon.com/natural-language-processing-tutorial-with-ebert/) on the subject to get you started (if you'd like some more academic articles check [this StackOverflow question](http://stackoverflow.com/questions/11892128/tutorials-for-natural-language-processing)). + +As always, there are web-based tools - such as [TextRazor](http://www.textrazor.com/) and [Yahoo Content Analysis](https://developer.yahoo.com/contentanalysis/) - that may be able to save you the trouble of diving into code and learning too much about the theory and practice of NLP whilst time is tight. + +There are a surprising number of good NLP libraries around for all of the major languages though: + +Java has [OpenNLP](https://opennlp.apache.org/) and [Apache UIMA](http://uima.apache.org/); Python has [NLTK](http://www.nltk.org/), [pattern](https://github.com/clips/pattern), and [TextBlob](http://textblob.readthedocs.org/en/dev/); and [this StackOverflow question](http://stackoverflow.com/questions/22904025/java-or-python-for-natural-language-processing) has a good dicussion of NLP libraries for both languages. + +In .NET-land the Standford NLP Group have made parts of [their software available](http://sergey-tihon.github.io/Stanford.NLP.NET/), and [SharpNLP](https://sharpnlp.codeplex.com/) and [Adodit NLP](http://nlp.abodit.com/) are worth a look too. + +Beyond the world of NLP you might consider going straight to a search engine that provides similar text interrogation capabilities along with a database to store your data and APIs to query it. [Solr](http://lucene.apache.org/solr/) and [Elastic](https://www.elastic.co/) (formerly ElasticSearch) are pretty well know in this space - but [Sphinx](http://sphinxsearch.com/) and [Constellio](http://constellio.com/?lang=en) are worthy entries. + +Lastly, for a spot of lightweight text mining [Latent Semantic Analysis in Ruby](http://blog.josephwilk.net/ruby/latent-semantic-analysis-in-ruby.html) and [Simple Text Mining with R](http://www.r-bloggers.com/simple-text-mining-with-r/) will point you in the right direction. + + +# Visualising unstructured text + +Being able to visualise unstructured information is key to making sense of it - be it a word tree of a text blob, a whole web page, or a social media feed - tools like [Word Tree](http://www.jasondavies.com/wordtree/), [Overview](https://www.overviewproject.org/), and even [Google Charts](https://developers.google.com/chart/interactive/docs/gallery/wordtree) will help you turn out some quick visualisations. On the academic end of the spectrum the National Science Foundation have made their [Jigsaw](http://www.cc.gatech.edu/gvu/ii/jigsaw/) toolbox available. + +Check out [See Text in Whole New Way: Text Visualization Tools](https://blogs.princeton.edu/etc/2012/08/16/see-text-in-whole-new-waytext-visualization-tools/) from Princeton University for a range of other tools. diff --git a/_handbookchapters/what_can_i_submit_as_a_hack.md b/_handbookchapters/what_can_i_submit_as_a_hack.md new file mode 100644 index 0000000..1f6467c --- /dev/null +++ b/_handbookchapters/what_can_i_submit_as_a_hack.md @@ -0,0 +1,27 @@ +--- +slug: 'what_can_i_submit_as_a_hack' +title: 'What can I submit as a Hack' +last_updated: '2016-07-29T04:29:28.016Z' +categories: + - comp +tags: + - creating + - ideas + - hack +--- + +## What can I submit as a hack? + +A Hack is when you take something and make it better! This is an open data competition so you need to reuse official open data in a clever and creative way. + +Entries could include, art, jewellery, a digital sign, a board game, historic film pieces, a virtual reality game, internet of things (IOT), a digital sensor display, a 3D model, a visualisation of data, an informed article and of course some amazing web apps! We only limit you to your imagination. + +Check out [2015 Hackerspace ](http://2015.hackerspace.govhack.org/) to see some great entries + +Prize categories can help provide inspiration to shape your ideas, as can mentors so don't be afraid to tap into the resources on hand for ideas. + +It's only 46 hours, so many of concepts entered are prototypes, mock ups, models, smaller scale artworks and even engineering design concepts from our maker community. Of course we have had some very crafty teams deliver demos and live apps within the time frame. + +Your proof of concepts should be showcased in someway in your project page and 3 minute video submission. + + diff --git a/_handbookchapters/what_data_do_i_use.md b/_handbookchapters/what_data_do_i_use.md new file mode 100644 index 0000000..f013296 --- /dev/null +++ b/_handbookchapters/what_data_do_i_use.md @@ -0,0 +1,28 @@ +--- +slug: 'what_data_do_i_use' +title: 'What data do I use' +last_updated: '2016-07-29T04:29:39.050Z' +categories: + - comp +tags: + - creating + - ideas + - datasets + - data +--- + +## Using Open Data + +You will find the list of Official data available for the GovHack competition in the[ Official Datasets list](http://portal.govhack.org/datasets.html). You must use at least one Official dataset to be eligible for prizes. Official Data includes individual datasets featured and all data discoverable on official Government data portals that are published on the Official Dataset list. + +You will need to Record the URL of the most prominent data you have used on your Hackerspace project page. Remember judges love to see their data reused :) + +For each prize category you enter, please check the eligibility requirements to see if any specific data needs to be reused to meet judges criteria. To maximize your chances to win National and Local prizes we recommend you mash up National and Local official data, giving you a chance in as many categories as possible. + +Some datasets listed on data portals may have additional resources available with further information on how to use the data or other supporting material. You are encouraged to download and use these resources. + +Several competition goals require entries must use at least one of the datasets provided for this contest, but you are free to use data from the official GovHack list or other datasets as long as their licensing terms permit usage for this purpose. You may also use any publicly accessible web services as long as it does not incur a financial cost to use (private and subscription APIs are prohibited due to licensing issues and barrier to entry). + +You can not use data you are the authority or a subject matter of.. That's not in the spirit of the competition. + + diff --git a/_handbookchapters/what_to_bring.md b/_handbookchapters/what_to_bring.md new file mode 100644 index 0000000..075df93 --- /dev/null +++ b/_handbookchapters/what_to_bring.md @@ -0,0 +1,116 @@ +--- +slug: 'what_to_bring' +title: 'What to bring' +last_updated: '2016-07-29T04:30:07.456Z' +categories: + - comp +tags: + - preparing + - rules + - event + - venue +--- + +The most important thing is to bring your GovHack Spirit of fun, friendship and helping others! GovHack is a friendly creative environment. + +## Tech and equipment + +Most participants form teams and work together and allocate different tasks to different team members. For instance you may be great a ideating and creating a marketing pitch through a storyboard. Another team member may mine data for the concepts so needs a computer and someone else could focus their energy on elements of a winning video. So not everyone needs a laptop :) Here are some of the things we’ve seen people using at GovHack. + +* Laptop + +* Mouse and mousepad + +* Adaptors and power cables (some may be supplied) + +* Headphones + +* USB thumb drives, external hard drives + +* Phone and charger + +* Drawing tablet and stylus + +* Bluetooth adaptor + +* USB hub + +* Camera or video equipment - although not required + +* Wi-fi dongle - not required as venue have wifi, however please remember there may be a high volume of uses at critical times. + +* Identification or Proof of Age card + +Please label your belongings so we can return them to you if you leave them behind. + +Can i leave equipment at the venue overnight? We discourage this, however recognise some people like to have their monitor at the events. Please be aware that you do this at your own risk and GovHack accepts no responsibility for any possessions left unattended at the venue. + +## Makers and Artists + +There are 2 dedicated GovHack maker spaces this year in [Adelaide](http://portal.govhack.org/locations/sa/adelaide-maker.html) and [Brisbane](http://portal.govhack.org/locations/qld/brisbane-maker.html). + +If you are interested in making things by hand or using digital fabrication like 3D printing or laser cutting, building physical computing, Internet of Things devices or robots, this is the event for you. Artists making representations of art may also love these spaces. Please check the event page for more information about equipment and supplies. + +## The other stuff + +GovHack is great fun, but it can also be an intense and stressful weekend at times. Bring what you need to stay productive and comfortable. + +* Comfortable clothing + +* Ugg boots, fuzzy socks + +* A jumper + +* Music or podcasts + +* Any data you’ve downloaded for the event, or notes you’ve made + +* Your favourite snacks and drinks (we’ll provide main meals and healthy snacks!) + +* A water bottle + +* Glasses, if you need them for reading screens + +* Pen, paper, post-its, notebook, coloured markers, your stationery drawer + +* Business cards + +* Any medications you may need + +* Your wallet and keys + +## Sleeping at the venue + +Most venues do not stay open all 46 hours. For this reason you may want to check your event page for details of opening and closing hours before you pack the swag! We know a lot of regional nodes do support sleeping at venues. + +## Internet access + +Your local venue will provide free WiFi. Details for how you can connect to the WiFi will be provided at your event launch. Your WiFi usage, including content downloads, may be monitored as part of general venue security, so please use the access provided with respect and avoid any illegal behaviour. Please make sure the laptops or computers you bring can connect via WiFi, or that you bring a WiFi dongle. Hardwired connections are not available at venues. Please be aware that during peak periods (4 to 5pm sunday) internet connectivity may be slow. Please plan accordingly. + +## Food + + At Official Events we’ll be taking care of your food while you’re at GovHack, so all you need to bring along are any snacks you want. + +* **Friday:** Supper + +* **Saturday:** Breakfast, lunch, dinner + +* **Sunday:** Breakfast, lunch + +If you’re attending a Node Event you may need to bring your own food. Most Node events have secured a small amount of sponsorship to contribute to catering or may help to organise a pizza order for everyone to chimp into. + +Check out what type of event you are attending on the [competition map](https://www.govhack.org/competition/map/) (pink pins official and blue pins are nodes). View more information about your venue catering on your locations event page. The portal page also tells you + +## Special Dietary needs + + If you have any special dietary needs, let us know on the eventbrite ticket registration form (or contact us, if you forgot to when you registered) We’ll do our best to take care of you. Vegetarian, vegan and gluten-free options will be available for participants that have advised us, but we do need to know numbers so we can make sure there is enough for everyone. + +The organisers will have endeavored to accommodate a wide range of dietary requirements. If you have severe allergies or important dietary requirements make sure that you have provided that information on your eventbrite ticket registration. + +Catering is often donated by wonderful sponsors, accordingly at this time we are unable to offer or guarantee products are organic. Thank you for understanding + +## Need coffee… yes please! + +Some locations have generous sponsors that have helped out with access to real coffee and hot beverages from a local cafe or coffee cart. Your host will let you know details at your launch event if this is available. Please drink responsibly :) Venues will also have some basic kitchen facilities including tea, instant coffee and milk. + + diff --git a/_includes/analytics.html b/_includes/analytics.html index 6073445..56f468c 100644 --- a/_includes/analytics.html +++ b/_includes/analytics.html @@ -4,7 +4,7 @@ m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); - ga('create', 'UA-64099570-1', 'auto'); + ga('create', 'UA-77714094-3', 'auto'); ga('send', 'pageview'); \ No newline at end of file diff --git a/_includes/autoreload-in-debug.html b/_includes/autoreload-in-debug.html index e408068..895e102 100644 --- a/_includes/autoreload-in-debug.html +++ b/_includes/autoreload-in-debug.html @@ -30,7 +30,7 @@ '&scrolly=' + window.scrollY; return; } - setTimeout(check, 500); + setTimeout(check, 250); } }; r.send(null); diff --git a/_includes/dataportal_cards.bs.html b/_includes/dataportal_cards.bs.html new file mode 100644 index 0000000..ad24ebe --- /dev/null +++ b/_includes/dataportal_cards.bs.html @@ -0,0 +1,33 @@ +{% if include.dataportals %} + {% assign dataportal_ids = include.dataportals | map: "id" %} +{% else %} + {% assign dataportal_ids = include.dataportal_ids %} +{% endif %} + +{% if dataportal_ids == nil %} + {% assign dataportal_ids = site.dataportals %} +{% endif %} + +{% for dataportal_id in dataportal_ids %} + {% assign dataportal = site.dataportals | where: "gid", dataportal_id | first %} + + {% if include.cards == true and dataportal.type == "major-portal" %} + {% assign classes = "media bg-primary card" %} + {% else %} + {% assign classes = "media" %} + {% endif %} + +
+
+ {% if dataportal.photo_url %} + + {% else %} + + {% endif %} +
+
+

{{ dataportal.name }}

+ {{ dataportal.excerpt }} +
+
+{% endfor %} \ No newline at end of file diff --git a/_includes/dataportal_cards.html b/_includes/dataportal_cards.html new file mode 100644 index 0000000..eccf94f --- /dev/null +++ b/_includes/dataportal_cards.html @@ -0,0 +1,22 @@ +{% if include.dataportals %} + {% assign dataportal_ids = include.dataportals | map: "id" %} +{% else %} + {% assign dataportal_ids = include.dataportal_ids %} +{% endif %} + + +{% for dataportal in site.dataportals %} + {% if dataportal_ids == nil or dataportal_ids contains dataportal.gid %} + + + + + {% endif %} +{% endfor %} +
+
+ +
+
{{ dataportal.name }}
+ {{ dataportal.excerpt }} +
\ No newline at end of file diff --git a/_includes/dataset_cards.bs.html b/_includes/dataset_cards.bs.html new file mode 100644 index 0000000..a36d0d8 --- /dev/null +++ b/_includes/dataset_cards.bs.html @@ -0,0 +1,21 @@ +{% if include.datasets %} + {% assign dataset_ids = include.datasets | map: "gid" %} +{% else %} + {% assign dataset_ids = include.dataset_ids %} +{% endif %} + +{% assign dataset_org_heading_lvl = "h4" %} +{% if include.dataset_org_heading_lvl AND include.dataset_org_heading_lvl != "" %} + {% assign dataset_org_heading_lvl = include.dataset_org_heading_lvl %} +{% endif %} + +{% for dataset in site.datasets %} + {% if dataset_ids == nil or dataset_ids contains dataset.gid %} +
+
+ <{{ dataset_org_heading_lvl }} class="media-heading">{{ dataset.name }} + {{ dataset.excerpt | truncate: 300 }} +
+
+ {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/dataset_cards.html b/_includes/dataset_cards.html new file mode 100644 index 0000000..7135485 --- /dev/null +++ b/_includes/dataset_cards.html @@ -0,0 +1,22 @@ +{% if include.datasets %} + {% assign dataset_ids = include.datasets | map: "gid" %} +{% else %} + {% assign dataset_ids = include.dataset_ids %} +{% endif %} + + +{% for dataset in site.datasets %} + {% if dataset_ids == nil or dataset_ids contains dataset.gid %} + + + + + {% endif %} +{% endfor %} +
+
+ +
+
{{ dataset.name }}
+ {{ dataset.excerpt }} +
\ No newline at end of file diff --git a/_includes/dataset_cards_by_organisation.bs.html b/_includes/dataset_cards_by_organisation.bs.html new file mode 100644 index 0000000..0d82ea2 --- /dev/null +++ b/_includes/dataset_cards_by_organisation.bs.html @@ -0,0 +1,26 @@ +{% if include.organisations %} + {% assign organisation_ids = include.organisations | map: "gid" | uniq %} +{% else %} + {% assign organisation_ids = include.organisation_ids | uniq %} +{% endif %} + +{% assign org_heading_lvl = "h4" %} +{% if include.org_heading_lvl %} + {% assign org_heading_lvl = include.org_heading_lvl %} +{% endif %} + +{% for organisation_id in organisation_ids %} + {% assign organisation = site.organisations | where: "gid", organisation_id | first %} + + {% if organisation %} + {% assign datasets = site.datasets | where: "organisation", organisation.gid %} + {% assign dataset_len = datasets | size %} + + {% if dataset_len > 0 %} +
+ <{{ org_heading_lvl }}>{{ organisation.name }} + {% include dataset_cards.bs.html datasets=datasets dataset_org_heading_lvl=include.dataset_org_heading_lvl %} +
+ {% endif %} + {% endif %} +{% endfor %} diff --git a/_includes/dataset_cards_by_organisation.html b/_includes/dataset_cards_by_organisation.html new file mode 100644 index 0000000..484aee9 --- /dev/null +++ b/_includes/dataset_cards_by_organisation.html @@ -0,0 +1,14 @@ + +{% for organisation in site.organisations %} + {% if organisation.datasets %} +

+

+ + + + {% include dataset_cards.html dataset_ids=organisation.datasets %} +
Datasets from {{ organisation.name }}
+

+ {% endif %} +{% endfor %} + \ No newline at end of file diff --git a/_includes/field_cards.bs.html b/_includes/field_cards.bs.html new file mode 100644 index 0000000..9fa7315 --- /dev/null +++ b/_includes/field_cards.bs.html @@ -0,0 +1,23 @@ +{% if include.fields %} + {% assign field_ids = include.fields | map: "id" %} +{% else %} + {% assign field_ids = include.field_ids %} +{% endif %} + +{% for field in site.fields %} + {% if field_ids == nil or field_ids contains field.id %} +
+
+ {% if field.photo_url %} + + {% else %} + + {% endif %} +
+
+

{{ field.name }}

+ {{ field.excerpt }} +
+
+ {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/field_cards.html b/_includes/field_cards.html new file mode 100644 index 0000000..b21cb35 --- /dev/null +++ b/_includes/field_cards.html @@ -0,0 +1,22 @@ +{% if include.fields %} + {% assign field_ids = include.fields | map: "id" %} +{% else %} + {% assign field_ids = include.field_ids %} +{% endif %} + + +{% for field in site.fields %} + {% if field_ids == nil or field_ids contains field.id %} + + + + + {% endif %} +{% endfor %} +
+
+ +
+
{{ field.name }}
+ {{ field.excerpt }} +
\ No newline at end of file diff --git a/_includes/get_jurisdiction_events.html b/_includes/get_jurisdiction_events.html new file mode 100644 index 0000000..a4ba7ab --- /dev/null +++ b/_includes/get_jurisdiction_events.html @@ -0,0 +1,9 @@ +{% assign location_ids = "" %} +{% for location in site.locations %} + {% if location.jurisdiction == include.jurisdiction_id %} + {% assign location_ids = location_ids | append: location.gid %} + {% assign location_ids = location_ids | append: "," %} + {% endif %} +{% endfor %} + +{{ location_ids }} \ No newline at end of file diff --git a/_includes/get_organisation_mentors.html b/_includes/get_organisation_mentors.html new file mode 100644 index 0000000..d7e3620 --- /dev/null +++ b/_includes/get_organisation_mentors.html @@ -0,0 +1,9 @@ +{% assign mentor_ids = "" %} +{% for mentor in site.mentors %} + {% if mentor.organisation == include.organisation_id %} + {% assign mentor_ids = mentor_ids | append: mentor.gid %} + {% assign mentor_ids = mentor_ids | append: "," %} + {% endif %} +{% endfor %} + +{{ mentor_ids }} \ No newline at end of file diff --git a/_includes/get_things_from_things.html b/_includes/get_things_from_things.html new file mode 100644 index 0000000..8a8b01c --- /dev/null +++ b/_includes/get_things_from_things.html @@ -0,0 +1,11 @@ +{% assign item_ids = "" %} +{% for item in include.collection %} + {% for organisation_id in item[include.itemtype] %} + {% if organisation_id == include.itemid %} + {% assign item_ids = item_ids | append: item.id %} + {% assign item_ids = item_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{{ item_ids }} \ No newline at end of file diff --git a/_includes/jurisdiction_cards.bs.html b/_includes/jurisdiction_cards.bs.html new file mode 100644 index 0000000..463affe --- /dev/null +++ b/_includes/jurisdiction_cards.bs.html @@ -0,0 +1,23 @@ +{% if include.jurisdictions %} + {% assign jurisdiction_ids = include.jurisdictions | map: "id" %} +{% else %} + {% assign jurisdiction_ids = include.jurisdiction_ids %} +{% endif %} + +{% for jurisdiction in site.jurisdictions %} + {% if jurisdiction_ids == nil or jurisdiction_ids contains jurisdiction.gid %} +
+
+ {% if jurisdiction.photo_url %} + + {% else %} + + {% endif %} +
+
+

{{ jurisdiction.name }}

+ {{ jurisdiction.excerpt }} +
+
+ {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/jurisdiction_cards.html b/_includes/jurisdiction_cards.html new file mode 100644 index 0000000..90bf85c --- /dev/null +++ b/_includes/jurisdiction_cards.html @@ -0,0 +1,22 @@ +{% if include.jurisdictions %} + {% assign jurisdiction_ids = include.jurisdictions | map: "id" %} +{% else %} + {% assign jurisdiction_ids = include.jurisdiction_ids %} +{% endif %} + + +{% for jurisdiction in site.jurisdictions %} + {% if jurisdiction_ids == nil or jurisdiction_ids contains jurisdiction.gid %} + + + + + {% endif %} +{% endfor %} +
+
+ +
+
{{ jurisdiction.name }}
+ {{ jurisdiction.excerpt }} +
\ No newline at end of file diff --git a/_includes/jurisdictions_bar.bs.html b/_includes/jurisdictions_bar.bs.html new file mode 100644 index 0000000..68e4d87 --- /dev/null +++ b/_includes/jurisdictions_bar.bs.html @@ -0,0 +1,19 @@ +{% if site.jurisdictions.size == 0 %} +
+
+ + {% for jurisdiction in site.jurisdictions %} + {% assign short_name = jurisdiction.gid | slice: 0, 3 | upcase %} + + {% endfor %} +
+{% endif %} \ No newline at end of file diff --git a/_includes/jurisdictions_bar.html b/_includes/jurisdictions_bar.html new file mode 100644 index 0000000..452da92 --- /dev/null +++ b/_includes/jurisdictions_bar.html @@ -0,0 +1,29 @@ + + + \ No newline at end of file diff --git a/_includes/list_item_snippet.html b/_includes/list_item_snippet.html new file mode 100644 index 0000000..f6d45e2 --- /dev/null +++ b/_includes/list_item_snippet.html @@ -0,0 +1,10 @@ +{% if include.item_value %} +
+
{{ include.item_name }}
+ {% if include.as_md or include.as_markdown %} +
{{ include.item_value | markdownify }}
+ {% else %} +
{{ include.item_value }}
+ {% endif %} +
+{% endif %} \ No newline at end of file diff --git a/_includes/location_cards.bs.html b/_includes/location_cards.bs.html new file mode 100644 index 0000000..228b6e2 --- /dev/null +++ b/_includes/location_cards.bs.html @@ -0,0 +1,25 @@ +{% if include.locations %} + {% assign location_ids = include.locations | map: "gid" %} +{% else %} + {% assign location_ids = include.location_ids %} +{% endif %} + +{% for location in site.locations %} + {% if location_ids == nil or location_ids contains location.gid %} +
+
+ {% if location.photo_url %} + + {% else %} + + {% endif %} +
+
+

{{ location.name }} ({{ location.type }})

+ {% unless location.excerpt contains 'window.location' %} + {{ location.excerpt }} + {% endunless %} +
+
+ {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/location_cards.html b/_includes/location_cards.html new file mode 100644 index 0000000..c01fd8d --- /dev/null +++ b/_includes/location_cards.html @@ -0,0 +1,22 @@ +{% if include.locations %} + {% assign location_ids = include.locations | map: "gid" %} +{% else %} + {% assign location_ids = include.location_ids %} +{% endif %} + + +{% for location in site.locations %} + {% if location_ids == nil or location_ids contains location.gid %} + + + + + {% endif %} +{% endfor %} +
+
+ +
+
{{ location.name }}
+ {{ location.excerpt }} +
\ No newline at end of file diff --git a/_includes/location_megamenu_item.bs.html b/_includes/location_megamenu_item.bs.html new file mode 100644 index 0000000..ec1304a --- /dev/null +++ b/_includes/location_megamenu_item.bs.html @@ -0,0 +1,13 @@ +{% if include.locations %} + {% assign location_ids = include.locations | map: "gid" %} +{% else %} + {% assign location_ids = include.location_ids %} +{% endif %} + +{% for location in site.locations %} + {% if location_ids == nil or location_ids contains location.gid %} +
  • + {{ location.name }} +
  • + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/mentor_card_by_jurisdiction.bs.html b/_includes/mentor_card_by_jurisdiction.bs.html new file mode 100644 index 0000000..d2c90ae --- /dev/null +++ b/_includes/mentor_card_by_jurisdiction.bs.html @@ -0,0 +1,13 @@ + + +{% for group in include.mentors_by_jurisdn %} + + {% assign jurisdn = site.jurisdictions | where: "gid", group.name | first %} + +

    {{ jurisdn.name }}

    + {% include mentor_cards.bs.html mentors=group.items display_excerpt=true %} +
    +{% endfor %} diff --git a/_includes/mentor_card_by_organisation.bs.html b/_includes/mentor_card_by_organisation.bs.html new file mode 100644 index 0000000..2ec013d --- /dev/null +++ b/_includes/mentor_card_by_organisation.bs.html @@ -0,0 +1,13 @@ + + +{% for group in include.mentors_by_org %} + + {% assign organisation = site.organisations | where: "gid", group.name | first %} + +

    {{ organisation.name }}

    + {% include mentor_cards.bs.html mentors=group.items display_excerpt=true %} +
    +{% endfor %} \ No newline at end of file diff --git a/_includes/mentor_card_by_organisation.html b/_includes/mentor_card_by_organisation.html new file mode 100644 index 0000000..0f6053e --- /dev/null +++ b/_includes/mentor_card_by_organisation.html @@ -0,0 +1,25 @@ + + + +{% for group in include.mentors_by_org %} + + {% for item in site.organisations %} + {% if item.id == group.name %} + {% assign organisation = item %} + {% break %} + {% endif %} + {% endfor %} + +

    +

    + + + + {% include mentor_cards.html mentors=group.items display_excerpt=true %} +
    Mentors from {{ organisation.name }}
    +

    +{% endfor %} + \ No newline at end of file diff --git a/_includes/mentor_cards.bs.html b/_includes/mentor_cards.bs.html new file mode 100644 index 0000000..a9a101b --- /dev/null +++ b/_includes/mentor_cards.bs.html @@ -0,0 +1,96 @@ +{% if include.mentors %} + {% assign mentor_ids = include.mentors | map: "gid" %} +{% else %} + {% assign mentor_ids = include.mentor_ids %} +{% endif %} + +{% if mentor_ids == nil %} + {% assign mentor_ids = site.mentors | map: "gid" %} +{% endif %} + +{% assign secret_squirrel = 'https://s3-ap-southeast-2.amazonaws.com/2016govhackmentors/secret-squirrel.jpg' %} + +{% for mentor_id in mentor_ids %} + {% assign mentor = site.mentors | where: "gid", mentor_id | first %} + {% if mentor %} + {% assign mentor_org = site.organisations | where: "gid", mentor.organisation | first %} +
    + +
    +

    + {{ mentor.name }}
    +

    +
    + {{ mentor.position_title }} – {{ mentor_org.name | default: mentor.organisation }} +
    + + {% comment %} + ============================================================== + The display_excerpt shows the ask_me_about, useful if the card + is part of a list. + ============================================================== + {% endcomment %} + + {% if include.display_excerpt %} + +

    Ask me about: {{ mentor.ask_me_about }}

    + + {% else %} + + + + {% endif %} + +
    +
    + {% endif %} +{% endfor %} diff --git a/_includes/mentor_cards.html b/_includes/mentor_cards.html new file mode 100644 index 0000000..c90666a --- /dev/null +++ b/_includes/mentor_cards.html @@ -0,0 +1,27 @@ +{% if include.mentors %} + {% assign mentor_ids = include.mentors | map: "gid" %} +{% else %} + {% assign mentor_ids = include.mentor_ids %} +{% endif %} + + +{% for mentor in site.mentors %} + {% if mentor_ids == nil or mentor_ids contains mentor.gid %} + + + + + {% endif %} +{% endfor %} +
    +
    + +
    +
    {{ mentor.name }}
    + {{ mentor.content }} + + Twitter: @{{ mentor.contact.twitter }} + Email: {{ mentor.contact.email }} + + +
    \ No newline at end of file diff --git a/_includes/mentor_cards.team.bs.html b/_includes/mentor_cards.team.bs.html new file mode 100644 index 0000000..a297b8b --- /dev/null +++ b/_includes/mentor_cards.team.bs.html @@ -0,0 +1,63 @@ +{% if include.mentors %} + {% assign mentor_ids = include.mentors | map: "gid" %} +{% else %} + {% assign mentor_ids = include.mentor_ids %} +{% endif %} + +{% for mentor in site.mentors %} + {% if mentor_ids == nil or mentor_ids contains mentor.gid %} +
    +
    + + {% if mentor.photo_url %} + + {% else %} + + {% endif %} + +

    {{ mentor.name }}

    +

    {{ mentor.position_title }}

    + +
    +
    + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/organisation_cards.bs.html b/_includes/organisation_cards.bs.html new file mode 100644 index 0000000..615967a --- /dev/null +++ b/_includes/organisation_cards.bs.html @@ -0,0 +1,27 @@ +{% if include.organisations %} + {% assign organisation_ids = include.organisations | map: "gid" %} +{% else %} + {% assign organisation_ids = include.organisation_ids %} +{% endif %} + +{% for organisation in site.organisations %} + {% if organisation_ids == nil or organisation_ids contains organisation.gid %} + {% if include.logo_only == true %} + + {% else %} +
    +
    + {% if organisation.logo_url != "http://" %} + + {% else %} + + {% endif %} +
    +
    +

    {{ organisation.name }}

    + {{ organisation.excerpt }} +
    +
    + {% endif %} + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/organisation_cards.html b/_includes/organisation_cards.html new file mode 100644 index 0000000..6897916 --- /dev/null +++ b/_includes/organisation_cards.html @@ -0,0 +1,22 @@ +{% if include.organisations %} + {% assign organisation_ids = include.organisations | map: "id" %} +{% else %} + {% assign organisation_ids = include.organisation_ids %} +{% endif %} + + +{% for organisation in site.organisations %} + {% if organisation_ids == nil or organisation_ids contains organisation.gid %} + + + + + {% endif %} +{% endfor %} +
    +
    + +
    +
    {{ organisation.name }}
    + {{ organisation.excerpt }} +
    \ No newline at end of file diff --git a/_includes/organisation_logos.bs.html b/_includes/organisation_logos.bs.html new file mode 100644 index 0000000..c79de3d --- /dev/null +++ b/_includes/organisation_logos.bs.html @@ -0,0 +1,13 @@ +{% if include.organisations %} + {% assign organisation_ids = include.organisations | map: "id" %} +{% else %} + {% assign organisation_ids = include.organisation_ids %} +{% endif %} + +{% for organisation in site.organisations %} + {% if organisation_ids == nil or organisation_ids contains organisation.gid %} + + + + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/prize_cards.bs.html b/_includes/prize_cards.bs.html new file mode 100644 index 0000000..e091c67 --- /dev/null +++ b/_includes/prize_cards.bs.html @@ -0,0 +1,16 @@ +{% if include.prizes %} + {% assign prize_ids = include.prizes | map: "gid" %} +{% else %} + {% assign prize_ids = include.prize_ids %} +{% endif %} + +{% for prize in site.prizes %} + {% if prize_ids == nil or prize_ids contains prize.gid %} +
    +
    +

    {{ prize.name }}{% if include.show_org_name != false %} ({{ prize.organisation_title }}){% endif %}{% if include.show_prize_type == true %} ({{ prize.type }} Prize){% endif %}

    + {{ prize.excerpt }} +
    +
    + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/prize_cards.html b/_includes/prize_cards.html new file mode 100644 index 0000000..b98b00b --- /dev/null +++ b/_includes/prize_cards.html @@ -0,0 +1,22 @@ +{% if include.prizes %} + {% assign prize_ids = include.prizes | map: "gid" %} +{% else %} + {% assign prize_ids = include.prize_ids %} +{% endif %} + + +{% for prize in site.prizes %} + {% if prize_ids == nil or prize_ids contains prize.gid %} + + + + + {% endif %} +{% endfor %} +
    +
    + +
    +
    {{ prize.name }}
    + {{ prize.excerpt }} +
    \ No newline at end of file diff --git a/_includes/sponsor_block.bs.html b/_includes/sponsor_block.bs.html new file mode 100644 index 0000000..1ef49a8 --- /dev/null +++ b/_includes/sponsor_block.bs.html @@ -0,0 +1,159 @@ +{% if site.collections.sponsors.enabled == true %} +{% if site.organisations.size > 0 %} + {% assign sponsors = site.organisations | where: "is_sponsor", true | where: "jurisdiction", include.jurisdiction_gid %} + {% assign heading_level = include.heading_level | default: "h2" %} + + {% comment %} + ======================================= + Filter out local event sponsors from the state sponsors. + ======================================= + {% endcomment %} + + {% assign sponsor_cat = include.sponsor_level %} + {% if include.sponsor_level == "state" %} + {% assign sponsors = sponsors | where: "events", "" %} + {% elsif include.sponsor_level == "local" %} + {% assign sponsor_cat = "state" %} + {% endif %} + + + {% comment %} + ======================================= + Determine if we have ANY sponsors to display. + ======================================= + {% endcomment %} + + {% assign sponsors_by_level = sponsors | group_by: "sponsor_level_id" %} + + {% assign has_sponsors = false %} + {% if include.sponsor_level == "local" %} + {% assign local_sponsors = false %} + + {% for sponsor_level in site.data.sponsor_config[sponsor_cat].classes %} + {% for sponsor_cat in sponsors_by_level %} + {% if sponsor_cat.name == sponsor_level.slug %} + {% for sponsor in sponsor_cat.items %} + {% if sponsor.events contains include.location_gid %} + {% assign local_sponsors = true %} + {% break %} + {% endif %} + {% endfor %} + {% endif %} + {% endfor %} + {% endfor %} + + {% if local_sponsors == true %} + {% assign has_sponsors = true %} + {% endif %} + {% elsif sponsors.size > 0 %} + {% assign has_sponsors = true %} + {% endif %} + + {% comment %} + ======================================= + Filtering to only display certain classes of sponsor. + e.g. Lead sponsors + ======================================= + {% endcomment %} + + {% if include.sponsor_level_ids != "" %} + {% assign sponsor_level_ids = include.sponsor_level_ids | split: "," %} + {% assign sponsor_level_ids_len = sponsor_level_ids | size %} + {% endif %} + + {% if has_sponsors %} + +
    +
    + +
    +
    + <{{ heading_level }} class="section-heading" data-toc-text="{{ include.jurisdiction_name }} Sponsors"{% if include.hide_category_heading_from_toc == true %} data-toc-skip{% endif %}>{{ include.jurisdiction_name }} Sponsors +
    +
    +
    +
    + {% for sponsor_level in site.data.sponsor_config[sponsor_cat].classes %} + {% if sponsor_level_ids_len > 0 %} + {% unless sponsor_level_ids contains sponsor_level.slug %} + {% continue %} + {% endunless %} + {% endif %} + + {% assign col_width = 12 | divided_by: sponsor_level.columns | round: 0 %} + + {% for sponsor_cat in sponsors_by_level %} + {% if sponsor_cat.name == sponsor_level.slug %} + {% if include.sponsor_level == "local" %} + {% assign local_sponsors = false %} + {% for sponsor in sponsor_cat.items %} + {% if sponsor.events contains include.location_gid %} + {% assign local_sponsors = true %} + {% break %} + {% endif %} + {% endfor %} + + {% if local_sponsors == false %} + {% continue %} + {% endif %} + {% endif %} + +

    {{ sponsor_cat.items[0].sponsor_level_desc }}

    + + {% assign sponsor_num = 0 %} + + {% comment %} + ======================================= + This horrendous hack brought to you by the state of modern web development. + http://stackoverflow.com/a/20548578 + + No, seriously. + + If you're changing this code PLEASE make sure you change the readable version + inside this comment, and the actual version that's used for rendering. + ======================================= + {% for sponsor in sponsor_cat.items %} + {% if include.sponsor_level == "local" %} + {% unless sponsor.events contains include.location_gid %} + {% continue %} + {% endunless %} + {% endif %} + + {% assign modulo = sponsor_num | modulo: sponsor_level.columns %} + {% if modulo == 0 %} + {% if sponsor_num > 0 %} +
    + {% endif %} +
    + {% endif %} + +
    + +
    + + {% assign sponsor_num = sponsor_num | plus: 1 %} + {% endfor %} + +
    + {% endcomment %} + + + {% comment %} + ======================================= + This is the ACTUAL code for rendering sponsor logos into rows and columns. + ======================================= + {% endcomment %} + + {% for sponsor in sponsor_cat.items %}{% if include.sponsor_level == "local" %}{% unless sponsor.events contains include.location_gid %}{% continue %}{% endunless %}{% endif %}{% assign modulo = sponsor_num | modulo: sponsor_level.columns %}{% if modulo == 0 %}{% if sponsor_num > 0 %}
    {% endif %}
    {% endif %}
    {% assign sponsor_num = sponsor_num | plus: 1 %}{% endfor %}
    + + {% break %} + {% endif %} + {% endfor %} + {% endfor %} +
    + + +
    + {% endif %} + {% endif %} +{% endif %} \ No newline at end of file diff --git a/_includes/sponsors_national.html b/_includes/sponsors_national.html new file mode 100644 index 0000000..d3d87d7 --- /dev/null +++ b/_includes/sponsors_national.html @@ -0,0 +1,89 @@ +{% assign sponsors_shown = true %} + + + \ No newline at end of file diff --git a/_includes/theme_cards.bs.html b/_includes/theme_cards.bs.html new file mode 100644 index 0000000..12eb9b6 --- /dev/null +++ b/_includes/theme_cards.bs.html @@ -0,0 +1,36 @@ +{% if include.themes %} + {% assign theme_ids = include.themes | map: "id" %} +{% else %} + {% assign theme_ids = include.theme_ids %} +{% endif %} + +{% for theme in site.themes %} + {% if theme_ids == nil or theme_ids contains theme.id %} + + {% endif %} +{% endfor %} \ No newline at end of file diff --git a/_includes/theme_cards.html b/_includes/theme_cards.html new file mode 100644 index 0000000..7d0358f --- /dev/null +++ b/_includes/theme_cards.html @@ -0,0 +1,30 @@ +{% if include.themes %} + {% assign theme_ids = include.themes | map: "id" %} +{% else %} + {% assign theme_ids = include.theme_ids %} +{% endif %} + + \ No newline at end of file diff --git a/_jurisdictions/australia.md b/_jurisdictions/australia.md new file mode 100644 index 0000000..465b8b5 --- /dev/null +++ b/_jurisdictions/australia.md @@ -0,0 +1,6 @@ +--- +gid: australia +name: Australia +title: Australia +photo_url: +--- diff --git a/_jurisdictions/australian_capital_territory.md b/_jurisdictions/australian_capital_territory.md new file mode 100644 index 0000000..9b69fbe --- /dev/null +++ b/_jurisdictions/australian_capital_territory.md @@ -0,0 +1,6 @@ +--- +gid: act +name: ACT +title: Australian Capital Territory +photo_url: +--- diff --git a/_jurisdictions/international.md b/_jurisdictions/international.md new file mode 100644 index 0000000..a028b05 --- /dev/null +++ b/_jurisdictions/international.md @@ -0,0 +1,6 @@ +--- +gid: international +name: International +title: International +photo_url: +--- diff --git a/_jurisdictions/new_south_wales.md b/_jurisdictions/new_south_wales.md new file mode 100644 index 0000000..386048f --- /dev/null +++ b/_jurisdictions/new_south_wales.md @@ -0,0 +1,6 @@ +--- +gid: nsw +name: NSW +title: New South Wales +photo_url: +--- diff --git a/_jurisdictions/new_zealand.md b/_jurisdictions/new_zealand.md new file mode 100644 index 0000000..9920880 --- /dev/null +++ b/_jurisdictions/new_zealand.md @@ -0,0 +1,6 @@ +--- +gid: nz +name: NZ +title: New Zealand +photo_url: +--- diff --git a/_jurisdictions/northern_territory.md b/_jurisdictions/northern_territory.md new file mode 100644 index 0000000..292205b --- /dev/null +++ b/_jurisdictions/northern_territory.md @@ -0,0 +1,6 @@ +--- +gid: nt +name: NT +title: Northern Territory +photo_url: +--- diff --git a/_jurisdictions/queensland.md b/_jurisdictions/queensland.md new file mode 100644 index 0000000..258d962 --- /dev/null +++ b/_jurisdictions/queensland.md @@ -0,0 +1,6 @@ +--- +gid: qld +name: QLD +title: Queensland +photo_url: +--- diff --git a/_jurisdictions/south_australia.md b/_jurisdictions/south_australia.md new file mode 100644 index 0000000..95f69cd --- /dev/null +++ b/_jurisdictions/south_australia.md @@ -0,0 +1,6 @@ +--- +gid: sa +name: SA +title: South Australia +photo_url: +--- diff --git a/_jurisdictions/tasmania.md b/_jurisdictions/tasmania.md new file mode 100644 index 0000000..bc528b0 --- /dev/null +++ b/_jurisdictions/tasmania.md @@ -0,0 +1,6 @@ +--- +gid: tas +name: TAS +title: Tasmania +photo_url: +--- diff --git a/_jurisdictions/victoria.md b/_jurisdictions/victoria.md new file mode 100644 index 0000000..9dcc078 --- /dev/null +++ b/_jurisdictions/victoria.md @@ -0,0 +1,6 @@ +--- +gid: vic +name: VIC +title: Victoria +photo_url: +--- diff --git a/_jurisdictions/western_australia.md b/_jurisdictions/western_australia.md new file mode 100644 index 0000000..89e9de7 --- /dev/null +++ b/_jurisdictions/western_australia.md @@ -0,0 +1,6 @@ +--- +gid: wa +name: WA +title: Western Australia +photo_url: +--- diff --git a/_layouts/bootstrap.html b/_layouts/bootstrap.html new file mode 100644 index 0000000..a77766f --- /dev/null +++ b/_layouts/bootstrap.html @@ -0,0 +1,471 @@ + + + + + + + + {% if page.title %}{{ page.title }} | {% endif %}GovHack 2017 + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% if page.ios_app_name %} + + + {% endif %} + {% if page.title %} + + {% if page.description %} + + + {% else if content %} + + + {% endif %} + {% else %} + + {% endif %} + {% if page.og_image_url %} + + {% else %} + {% if page.photo_url %} + + {% endif %} + {% endif %} + + + + + {% if page.date %} + + {% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + {% if page.name == "index.html" %} + +
    + {% else %} + +
    + +
    + +
    + {% endif %} + + {{ content }} + +
    + + {% if page.no_major_sponsors != true %} + {% include sponsor_block.bs.html sponsor_level="national" jurisdiction_gid="australia" jurisdiction_name="Major National" sponsor_level_ids="lead-agency,lead-sponsor" hide_category_heading_from_toc=true %} + {% endif %} +
    +
    +
    + + + {% unless page.no_footer %} +
    + + + + + + + + + + + + + + govhack-footer + + + + + + + + + + + + + + + + + + + + + + + + + +
    + GovHack and the GovHack Logo are registered trademarks of GovHack Australia Limited.
    Unless + indicated otherwise, all other content on this site is licensed under a CC + BY-NC-ND 3.0 US. +
    +
    + {% endunless %} + + {% include highlight.html %} + {% include analytics.html %} + {% include autoreload-in-debug.html %} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_layouts/dataportal.html b/_layouts/dataportal.html new file mode 100644 index 0000000..59636f7 --- /dev/null +++ b/_layouts/dataportal.html @@ -0,0 +1,210 @@ +--- +layout: bootstrap +--- + +
    +
    + +
    +
    +
    + +
    +
    +

    {{ page.name }}

    + + {% for jurisdiction in site.jurisdictions %} + {% if jurisdiction.gid == page.jurisdiction %} + {% assign jurisdiction = jurisdiction %} + {% break %} + {% endif %} + {% endfor %} +

    {{ jurisdiction.name }}

    + + {{ page.content }} +
    +
    + + +
    +
    +
    + +{% comment %} +==================================== +Because we've moved the dataportal element from organisations +to the data portals themselves. Fix it later if we care. +==================================== + +{% assign organisation_ids = "" %} +{% for organisation in site.organisations %} + {% for dataportal_id in organisation.dataportals %} + {% if dataportal_id == page.id %} + {% assign organisation_ids = organisation_ids | append: organisation.gid %} + {% assign organisation_ids = organisation_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless organisation_ids == "" %} + +
    +
    +
    +
    +

    Organisations

    +
    +
    +
    + {% assign organisation_ids_list = organisation_ids | lstrip | split: "," %} + {% include organisation_cards.bs.html organisation_ids=organisation_ids_list %} +
    +
    +
    +{% endunless %} +{% endcomment %} + +{% assign mentor_ids = "" %} +{% for mentor in site.mentors %} + {% for dataportal_id in mentor.dataportals %} + {% if dataportal_id == page.id %} + {% assign mentor_ids = mentor_ids | append: mentor.gid %} + {% assign mentor_ids = mentor_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    Mentors

    +
    +
    +
    + {% assign mentor_ids_list = mentor_ids | lstrip | split: "," %} + {% include mentor_cards.bs.html mentor_ids=mentor_ids_list %} +
    +
    +
    +{% endunless %} + +{% assign prize_ids = "" %} +{% for prize in site.prizes %} + {% for dataportal_id in prize.dataportals %} + {% if dataportal_id == page.id %} + {% assign prize_ids = prize_ids | append: prize.id %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless prize_ids == "" %} + +
    +
    +
    +
    +

    Prizes

    +
    +
    +
    + {% assign prize_ids_list = prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=prize_ids_list %} +
    +
    +
    +{% endunless %} + +{% assign field_ids = "" %} +{% for field in site.fields %} + {% for dataportal_id in field.dataportals %} + {% if dataportal_id == page.id %} + {% assign field_ids = field_ids | append: field.id %} + {% assign field_ids = field_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless field_ids == "" %} + +
    +
    +
    +
    +

    Fields

    +
    +
    +
    + {% assign field_ids_list = field_ids | lstrip | split: "," %} + {% include field_cards.bs.html field_ids=field_ids_list %} +
    +
    +
    +{% endunless %} + +{% assign theme_ids = "" %} +{% for theme in site.themes %} + {% for dataportal_id in theme.dataportals %} + {% if dataportal_id == page.id %} + {% assign theme_ids = theme_ids | append: theme.id %} + {% assign theme_ids = theme_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless theme_ids == "" %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% assign theme_ids_list = theme_ids | lstrip | split: "," %} + {% include theme_cards.bs.html theme_ids=theme_ids_list %} +
    +
    +
    +{% endunless %} \ No newline at end of file diff --git a/_layouts/dataset.html b/_layouts/dataset.html new file mode 100644 index 0000000..e0e7f04 --- /dev/null +++ b/_layouts/dataset.html @@ -0,0 +1,140 @@ +--- +layout: bootstrap +--- + +
    +
    +
    +

    {{ page.name }}

    + + {% assign dataset_org = site.organisations | where: "gid", page.organisation | first %} + {% if dataset_org %} +

    {{ dataset_org.name }}

    + {% endif %} + +

    + Dataset Link + + + + +

    + + {{ page.content }} +
    +
    +
    + +{% assign dataset_org = site.organisations | where: "gid", page.organisation | first %} + +{% if dataset_org %} + +
    +
    + {% include organisation_cards.bs.html organisation_ids=dataset_org.gid logo_only=true %} +
    +
    +{% endif %} + +{% assign prize_ids = "" %} +{% for prize in site.prizes %} + {% for dataset_id in prize.datasets %} + {% if dataset_id == page.gid %} + {% assign prize_ids = prize_ids | append: prize.gid %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless prize_ids == "" %} + +
    +
    +
    +
    +

    Prizes

    +
    +
    +
    + {% assign prize_ids_list = prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=prize_ids_list %} +
    +
    +
    +{% endunless %} + +{% if page.mentors %} + +
    +
    +
    +
    +

    Mentors

    +
    +
    +
    + {% include mentor_cards.bs.html mentor_ids=page.mentors %} +
    +
    +
    +{% endif %} + +{% comment %} +============================================================== +We're not doing these this year. +============================================================== + +{% assign theme_ids = "" %} +{% for theme in site.themes %} + {% for dataset_id in theme.datasets %} + {% if dataset_id == page.id %} + {% assign theme_ids = theme_ids | append: theme.id %} + {% assign theme_ids = theme_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless theme_ids == "" %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% assign theme_ids_list = theme_ids | lstrip | split: "," %} + {% include theme_cards.bs.html theme_ids=theme_ids_list %} +
    +
    +
    +{% endunless %} + +{% assign field_ids = "" %} +{% for field in site.fields %} + {% for dataset_id in field.datasets %} + {% if dataset_id == page.id %} + {% assign field_ids = field_ids | append: field.id %} + {% assign field_ids = field_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless field_ids == "" %} + +
    +
    +
    +
    +

    Fields

    +
    +
    +
    + {% assign field_ids_list = field_ids | lstrip | split: "," %} + {% include field_cards.bs.html field_ids=field_ids_list %} +
    +
    +
    +{% endunless %} +{% endcomment %} \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html index f90dfa7..4c1716a 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -2,7 +2,7 @@ - {% if page.title %}{{ page.title }} — {% endif %}Govhack Science + {% if page.title %}{{ page.title }} — {% endif %}GovHack | Competition Portal @@ -55,13 +55,11 @@

    Govhack | celebrating Govhack - CSIRO - Geoscience Australia

    @@ -84,10 +82,10 @@

    - This site is licensed under a Creative Commons License + This site is licensed under a Creative Commons License

    Images taken from CSIRO Science Image, and are free to download under Creative Commons License

    -

    Powered by Jekyll, layout lifted from Rasmus Andersson and lightly modified

    +

    Powered by Jekyll, repo lifted from @jesserobertson, layout lifted from Rasmus Andersson and lightly modified

    {% endunless %} diff --git a/_layouts/field.html b/_layouts/field.html new file mode 100644 index 0000000..8121ab3 --- /dev/null +++ b/_layouts/field.html @@ -0,0 +1,129 @@ +--- +layout: bootstrap +--- + +
    +
    + +
    + {{ content }} +
    +
    +
    + +{% assign mentor_ids = "" %} +{% for mentor in site.mentors %} + {% for field_id in mentor.fields %} + {% if field_id == page.id %} + {% assign mentor_ids = mentor_ids | append: mentor.gid %} + {% assign mentor_ids = mentor_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    Mentors

    +
    +
    +
    + {% assign mentor_ids_list = mentor_ids | lstrip | split: "," %} + {% include mentor_cards.bs.html mentor_ids=mentor_ids_list %} +
    +
    +
    +{% endunless %} + +{% if page.datasets %} + +
    +
    +
    +
    +

    Datasets

    +
    +
    +
    + {% include dataset_cards.bs.html dataset_ids=page.datasets %} +
    +
    +
    +{% endif %} + +{% if page.dataportals %} + +
    +
    +
    +
    +

    Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=page.dataportals %} +
    +
    +
    +{% endif %} + +{% assign organisation_ids = "" %} +{% for organisation in site.organisations %} + {% for field_id in organisation.fields %} + {% if field_id == page.id %} + {% assign organisation_ids = organisation_ids | append: organisation.gid %} + {% assign organisation_ids = organisation_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless organisation_ids == "" %} + +
    +
    +
    +
    +

    Organisations

    +
    +
    +
    + {% assign organisation_ids_list = organisation_ids | lstrip | split: "," %} + {% include organisation_cards.bs.html organisation_ids=organisation_ids_list %} +
    +
    +
    +{% endunless %} + +{% assign theme_ids = "" %} +{% for theme in site.themes %} + {% for field_id in theme.fields %} + {% if field_id == page.id %} + {% assign theme_ids = theme_ids | append: theme.id %} + {% assign theme_ids = theme_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless theme_ids == "" %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% assign theme_ids_list = theme_ids | lstrip | split: "," %} + {% include theme_cards.bs.html theme_ids=theme_ids_list %} +
    +
    +
    +{% endunless %} \ No newline at end of file diff --git a/_layouts/handbook_chapter.html b/_layouts/handbook_chapter.html new file mode 100644 index 0000000..715837e --- /dev/null +++ b/_layouts/handbook_chapter.html @@ -0,0 +1,40 @@ +--- +layout: handbook_template_bs +--- + +
    +

    + {% if page.categories contains 'comp' %} + Participant Handbook + {% elsif page.categories contains 'toolkit' %} + Hacker Toolkit + {% endif %} + {{ page.title }} +

    +
    + +
    +    + {% for tag in page.tags %} + {{ tag }} + {% endfor %} +
    + +
    + {{ page.content }} +
    + +
    +
    + +
    +
    + Last updated: {{ page.last_updated }} +
    + + \ No newline at end of file diff --git a/_layouts/handbook_template_bs.html b/_layouts/handbook_template_bs.html new file mode 100644 index 0000000..2aa60b2 --- /dev/null +++ b/_layouts/handbook_template_bs.html @@ -0,0 +1,257 @@ + + + + + + + {% if page.title %}{{ page.title }} | {% endif %}GovHack Participant Handbook + + + + + + + + + + + + + + + + + + + + + + + + + + + + {% if page.ios_app_name %} + + + {% endif %} + {% if page.title %} + + {% if page.description %} + + + {% else if content %} + + + {% endif %} + {% else %} + + {% endif %} + {% if page.og_image_url %} + + {% elsif page.photo_url %} + + {% else %} + + + + {% endif %} + + + + + {% if page.date %} + + {% endif %} + + + + + + + + + + + + + + + + + + + + + + + + + + + {% comment %} + ======================================== + No hate FB comment pls + ======================================== + {% endcomment %} +
    + + +
    + +
    + +
    + + +
    + {{ content }} +
    +
    + + {% include autoreload-in-debug.html %} + + + + + diff --git a/_layouts/jurisdiction.html b/_layouts/jurisdiction.html new file mode 100644 index 0000000..7a1ec00 --- /dev/null +++ b/_layouts/jurisdiction.html @@ -0,0 +1,273 @@ +--- +layout: bootstrap +--- + + + + +
    +
    + +
    +
    +
    + +
    +
    +

    {{ page.name }}

    + +
    + + + {{ page.content }} +
    +
    + + +
    +
    +
    + +{% assign location_ids = site.locations | where: "jurisdiction", page.gid | map: "gid" %} +{% assign location_ids_len = location_ids | size %} +{% if location_ids_len > 0 %} + +
    +
    +
    +
    +

    Locations

    +
    +
    +
    + {% include location_cards.bs.html location_ids=location_ids %} +
    +
    +
    +{% endif %} + +{% assign theme_ids = site.themes | where: "jurisdiction", page.gid | map: "id" %} +{% assign theme_ids_len = theme_ids | size %} +{% if theme_ids_len > 0 %} + +
    +
    +
    +
    +

    State Themes

    +
    +
    +
    + {% include theme_cards.bs.html theme_ids=theme_ids %} +
    +
    +
    +{% endif %} + +{% if site.collections.prizes.enabled == true %} + {% assign state_prize_ids = site.prizes | where: "category", "state" | where: "jurisdiction", page.gid | map: "gid" %} + {% assign state_prize_ids_len = state_prize_ids | size %} + {% if state_prize_ids_len > 0 %} + +
    +
    +
    +
    +

    State Prizes

    +

    Prizes that all participants in {{ page.name }} can compete for!

    +
    +
    +
    + {% include prize_cards.bs.html prize_ids=state_prize_ids %} +
    +
    +
    + {% endif %} + + {% assign local_prize_ids = site.prizes | where: "category", "local" | where: "jurisdiction", page.gid | map: "gid" %} + {% assign local_prize_ids_len = local_prize_ids | size %} + {% if local_prize_ids_len > 0 %} + +
    +
    +
    +
    +

    Local Prizes

    +

    Prizes that only participants at specific events can compete for!

    +
    +
    +
    + {% for event in site.locations %} + {% if event.jurisdiction == page.gid %} + {% assign event_prizes = site.prizes | where: "category", "local" | where: "jurisdiction", page.gid %} + {% assign event_prize_ids_len = event_prizes | size %} + + {% if event_prize_ids_len > 0 %} + {% assign event_prize_ids = "" %} + {% for prize in event_prizes %} + {% if prize.events contains event.gid %} + {% assign event_prize_ids = event_prize_ids | append: prize.gid %} + {% assign event_prize_ids = event_prize_ids | append: "," %} + {% endif %} + {% endfor %} + + {% unless event_prize_ids == "" %} +
    +

    {{ event.name }}

    + {% assign event_prize_ids_list = event_prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=event_prize_ids_list %} +
    + {% endunless %} + {% endif %} + {% endif %} + {% endfor %} +
    +
    +
    + {% endif %} +{% endif %} + +{% if site.collections.dataportals.enabled == true %} + +{% assign state_dataportal_ids = site.dataportals | where: "type", "major-portal" | where: "jurisdiction", page.gid | map: "gid" | join: "," %} + {% assign local_dataportal_ids = site.dataportals | where: "jurisdiction", page.gid | map: "gid" | join: "," %} + {% capture dp_ids %}{{ state_dataportal_ids }},{{ local_dataportal_ids }}{% endcapture %} + {% assign dp_ids_list = dp_ids | lstrip | split: "," | uniq %} + + {% assign dataportal_ids_len = dp_ids_list | size %} + {% if dataportal_ids_len > 0 %} + +
    +
    +
    +
    +

    State Data Portals

    +

    Major government data portals from all over {{ page.name }}. Check out the official datasets list for much more!

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dp_ids_list cards=true %} +
    +
    +
    + {% endif %} + +{% endif %} + +{% if site.collections.datasets.enabled == true %} + + {% assign state_org_ids = site.datasets | where: "jurisdiction", page.gid | map: "organisation" %} + {% assign state_org_ids_len = state_org_ids | size %} + {% if state_org_ids_len > 0 %} + +
    +
    +
    +
    +

    Official State Datasets

    +

    Datasets from all over {{ page.name }}. Check out the official datasets list for much more!

    +
    +
    +
    + {% include dataset_cards_by_organisation.bs.html organisation_ids=state_org_ids org_heading_lvl="h3" %} +
    +
    +
    + {% endif %} +{% endif %} + +{% if site.collections.mentors.enabled == true %} + + {% assign mentor_ids = site.mentors | where: "jurisdiction", page.gid | map: "gid" %} + {% assign mentor_ids_len = mentor_ids | size %} + {% if mentor_ids_len > 0 %} + +
    +
    +
    +
    +

    State Mentors

    +
    +
    +
    + {% include mentor_cards.bs.html mentor_ids=mentor_ids %} +
    +
    +
    + {% endif %} +{% endif %} + + +{% comment %} +{% assign organisation_ids = "" %} +{% for organisation in site.organisations %} + {% if organisation.jurisdiction == page.gid %} + {% assign organisation_ids = organisation_ids | append: organisation.gid %} + {% assign organisation_ids = organisation_ids | append: "," %} + {% endif %} +{% endfor %} + +{% unless organisation_ids == "" %} + +
    +
    +
    +
    +

    State Organisations

    +
    +
    +
    + {% assign organisation_ids_list = organisation_ids | lstrip | split: "," %} + {% include organisation_cards.bs.html organisation_ids=organisation_ids_list %} +
    +
    +
    +{% endunless %} +{% endcomment %} + +{% include sponsor_block.bs.html sponsor_level="state" jurisdiction_gid=page.gid jurisdiction_name="State" %} \ No newline at end of file diff --git a/_layouts/location.html b/_layouts/location.html new file mode 100644 index 0000000..fd96ba6 --- /dev/null +++ b/_layouts/location.html @@ -0,0 +1,527 @@ +--- +layout: bootstrap +type: location +--- + +{% comment %} +======================== +Location-map is the bootstrap js file that loads leaflet etc +Slick is the carousel plugin for location page images +======================== +{% endcomment %} + + + + + + + +{% comment %} +======================== +Attempt to locate the signup link and if it exists, bind the rego_link +variable to this URL. Here I attempt to cater for all the strange ways +that our authors (or indeed myself) might indicate a signup link. +======================== +{% endcomment %} +{% if page.rego_link %} +{% assign rego_link = page.rego_link %} +{% elsif page.signup %} +{% assign rego_link = page.signup %} +{% elsif page.signup_link %} +{% assign rego_link = page.signup_link %} +{% elsif page.registration %} +{% assign rego_link = page.registration %} +{% elsif page.eventbrite %} +{% assign rego_link = page.eventbrite %} +{% endif %} + + +
    +
    +
    +
    + +
    + {% for jurisdiction in site.jurisdictions %} + {% if jurisdiction.gid == page.jurisdiction %} + {% assign jurisdiction = jurisdiction %} + {% break %} + {% endif %} + {% endfor %} + + {% if page.type contains 'Official' or page.type contains 'official' %} + {% assign page_type_class = 'icon-event-type-official' %} + {% elsif page.type contains 'Node' or page.type contains 'node' %} + {% assign page_type_class = 'icon-event-type-node' %} + {% endif %} + + + {% comment %} + ======================================= + `prefix` is the event type that is prefixed to the location title + `name` should be purely the name of the location + > E.g. "Unleashed Adelaide" or "GovHack Hunter Valley" + page_type_class determines the colour of the icon box + ======================================= + {% endcomment %} +

    {{ page.prefix }} {{ page.name }}

    + {% unless page.cancelled == true %} +

    {{ page.type }} ({{ jurisdiction.name }}) {% unless page.theme == nil %} + {{ page.theme }} {% endunless %}

    + {% endunless %} + + {% comment %} + ======================================= + If a location page looks like it hasn't been populated yet, show + a little friendly tag. Or if it's disabled, also show a message. + ======================================= + {% endcomment %} + {% if page.venue == nil %} +
    This location hasn't been finalised yet – please check again shortly! +
    + {% endif %} + {% if page.cancelled == true %} +
    This event is not proceeding this year. Please check out other + events in the region. +
    + {% endif %} +
    +
    +
    + + {% unless page.cancelled == true %} + + {% comment %} + ======================================= + Show registration link if necessary + ======================================= + {% endcomment %} + {% unless rego_link == nil or page.cancelled == true %} +
    + Register for {{ page.prefix }} {{ page.name }} + {% if page.eventbrite %} + + {% endif %} +
    + {% endunless %} + + {% comment %} + ======================================= + Venue photos will appear at the top. This will captivate! + Location contains the lat/long needed to drive the leaflet map. + It will also attempt to pull the venue name and address as well. + ======================================= + {% endcomment %} + {% unless page.location == nil %} +
    +

    Location

    +
    + + {% endunless %} + + {% unless page.images == nil %} +
    +
    + {% for image_url in page.images %} +
    {{ page.name }} +
    + {% endfor %} +
    + {% endunless %} + + + {% comment %} + ======================================= + The Follow section reads from `contact` in frontmatter and + can accept: + + Twitter (with or without leading '@') + + Facebook + + Website (as `website_url`) + + Instagram + Additionally it searches for a standalone `website` field in + frontmatter and treats that as an object + ======================================= + {% endcomment %} + + {% unless page.contact == nil %} +
    +

    Follow

    + + {% endunless %} + + {% comment %} + ======================================= + Render page's markdown content here. Markdown accepted. + ======================================= + {% endcomment %} + + {% unless page.content == "" %} +
    + {{ page.content | markdownify }} + {% else %} +
    + {% endunless %} + + + {% comment %} + ======================================= + Venue contains information for: + + Host name and possibly host email + + Name of venue + + Street address + + Accessibility + + Under 18 supervision + + Capacity + + Parking and Public Transport + ======================================= + {% endcomment %} + + {% unless page.venue == nil %} + {% capture host_value %}{{ page.venue.host }} + {% if page.contact.email %} - + email + {% endif %} + {% if page.contact.phone %} - + phone + {% endif %} + {% endcapture %} + +
    +
    +

    Venue Details

    +
    + {% include list_item_snippet.html item_name="Event Host" item_value=host_value %} + {% include list_item_snippet.html item_name="Event Team" item_value=page.venue.team %} + {% include list_item_snippet.html item_name="Address" item_value=page.venue.address as_markdown=true %} + {% include list_item_snippet.html item_name="Phone" item_value=page.contact.phone %} +

    Open/Close times

    +
    +
    Friday 29th July
    +
    {{ page.times.friday.open }} – {{ page.times.friday.close }}
    +
    Saturday 30th July
    +
    {{ page.times.saturday.open }} – {{ page.times.saturday.close }}
    +
    Sunday 31st July
    +
    {{ page.times.sunday.open }} – {{ page.times.sunday.close }}
    +
    + {% include list_item_snippet.html item_name="Catering" item_value=page.catering as_markdown=true %} +
    +
    + + {% include list_item_snippet.html item_name="Building accessibility" item_value=page.venue.accessibility + as_markdown=true %} + {% include list_item_snippet.html item_name="Childcare" item_value=page.venue.childcare as_markdown=true + %} + {% include list_item_snippet.html item_name="Under 18 participants" item_value=page.venue.under_18 + as_markdown=true %} + {% include list_item_snippet.html item_name="Public transport" item_value=page.venue.public_transport + as_markdown=true %} + {% include list_item_snippet.html item_name="Last call for public transport" + item_value=page.venue.public_transport_last as_markdown=true %} + {% include list_item_snippet.html item_name="Parking" item_value=page.venue.parking as_markdown=true %} +
    +
    + {% endunless %} + + {% endunless %} + + {% if site.collections.prizes.enabled == true %} + + {% assign prize_ids = "" %} + {% for prize in site.prizes %} + {% if prize.jurisdiction == page.jurisdiction and prize.category == "local" and prize.events contains page.gid %} + {% assign prize_ids = prize_ids | append: prize.gid %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} + + + {% unless prize_ids == "" %} + +
    +
    +
    +
    +

    Local Prizes

    +

    Prizes that only participants at {{ page.name }} can compete for!

    +
    +
    +
    + {% assign prize_ids_list = prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=prize_ids_list %} +
    +
    +
    + {% endunless %} + + {% assign prize_ids = site.prizes | where: "category", "state" | where: "jurisdiction", page.jurisdiction | map:"gid" %} + {% assign prize_ids_len = prize_ids | size %} + {% if prize_ids_len > 0 %} + +
    +
    +
    +
    +

    State Prizes

    +

    Prizes that all participants in {{ jurisdiction.name }} can compete + for!

    +
    +
    +
    + {% include prize_cards.bs.html prize_ids=prize_ids %} +
    +
    +
    + {% endif %} + + {% endif %} + + {% if site.collections.datasets.enabled == false %} + {% assign local_org_ids = "" %} + {% assign state_org_ids = "" %} + {% for dataset in site.datasets %} + {% if dataset.jurisdiction == page.jurisdiction %} + {% if dataset.events contains page.gid %} + {% assign local_org_ids = local_org_ids | append: dataset.organisation %} + {% assign local_org_ids = local_org_ids | append: "," %} + {% else %} + {% assign state_org_ids = state_org_ids | append: dataset.organisation %} + {% assign state_org_ids = state_org_ids | append: "," %} + {% endif %} + {% endif %} + {% endfor %} + + + {% unless local_org_ids == "" %} + +
    +
    +
    +
    +

    Official Local Datasets

    +

    Datasets from your local governments and sponsors. Check out the official datasets list for much more!

    +
    +
    +
    + {% assign local_org_ids_list = local_org_ids | lstrip | split: "," | uniq %} + {% include dataset_cards_by_organisation.bs.html organisation_ids=local_org_ids_list + org_heading_lvl="h3" %} +
    +
    +
    + {% endunless %} + + {% unless state_org_ids == "" %} + +
    +
    +
    +
    +

    Official State Datasets

    +

    Datasets from all over {{ jurisdiction.name }}. Check out the official datasets list for much more!

    +
    +
    +
    + {% assign state_org_ids_list = state_org_ids | lstrip | split: "," | uniq %} + {% include dataset_cards_by_organisation.bs.html organisation_ids=state_org_ids_list + org_heading_lvl="h3" %} +
    +
    +
    + {% endunless %} + + {% endif %} + + {% if site.collections.dataportals.enabled == true %} + {% comment %} + ======================================= + Render data portals. + ======================================= + {% endcomment %} + + {% assign local_dp_ids = page.dataportals | join: "," %} + {% assign state_dp_ids = site.dataportals | where: "jurisdiction", page.jurisdiction | map: "gid" | join: "," %} + + {% unless local_dp_ids == "" %} + +
    +
    +
    +
    +

    Local Data Portals

    +

    Major government data portals run by your local governments and + sponsors. Check out the official datasets list for much more! +

    +
    +
    +
    + {% assign local_dp_ids_list = local_dp_ids | lstrip | split: "," | uniq %} + {% include dataportal_cards.bs.html dataportal_ids=local_dp_ids_list cards=true %} +
    +
    +
    + {% endunless %} + + {% unless state_dp_ids == "" %} + +
    +
    +
    +
    +

    State Data Portals

    +

    Major government data portals from all over {{ jurisdiction.name }}. + Check out the official datasets list for much more!

    +
    +
    +
    + {% assign state_dp_ids_list = state_dp_ids | lstrip | split: "," | uniq %} + {% include dataportal_cards.bs.html dataportal_ids=state_dp_ids_list cards=true %} +
    +
    +
    + {% endunless %} + {% endif %} + + {% if site.collections.mentors.enabled == true %} + {% comment %} + ======================================= + Render mentors. + ======================================= + {% endcomment %} + + {% assign mentor_ids = "" %} + {% for mentor in site.mentors %} + {% if mentor.jurisdiction == page.jurisdiction and mentor.location == page.gid %} + {% assign mentor_ids = mentor_ids | append: mentor.gid %} + {% assign mentor_ids = mentor_ids | append: "," %} + {% endif %} + {% endfor %} + + {% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    Local Mentors

    +
    +
    +
    + {% assign mentor_ids_list = mentor_ids | lstrip | split: "," %} + {% include mentor_cards.bs.html mentor_ids=mentor_ids_list %} +
    +
    +
    + {% endunless %} + + {% assign mentor_ids = "" %} + {% for mentor in site.mentors %} + {% if mentor.jurisdiction == page.jurisdiction and mentor.location != page.gid %} + {% assign mentor_ids = mentor_ids | append: mentor.gid %} + {% assign mentor_ids = mentor_ids | append: "," %} + {% endif %} + {% endfor %} + + {% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    State Mentors

    +
    +
    +
    + {% assign mentor_ids_list = mentor_ids | lstrip | split: "," %} + {% include mentor_cards.bs.html mentor_ids=mentor_ids_list %} +
    +
    +
    + {% endunless %} + {% endif %} + +
    +
    + +{% if site.collections.sponsors.enabled == true %} + {% include sponsor_block.bs.html sponsor_level="local" jurisdiction_gid=page.jurisdiction jurisdiction_name="Local" location_gid=page.gid %} + {% include sponsor_block.bs.html sponsor_level="state" jurisdiction_gid=page.jurisdiction jurisdiction_name="State" %} +{% endif %} \ No newline at end of file diff --git a/_layouts/mentor.html b/_layouts/mentor.html new file mode 100644 index 0000000..5b9198a --- /dev/null +++ b/_layouts/mentor.html @@ -0,0 +1,166 @@ +--- +layout: bootstrap +--- + +
    +
    + + {% include mentor_cards.bs.html mentor_ids=page.gid display_full=true %} + +

    About me

    +
    + {{ mentor.content }} +
    + +
    + +

    How I can help

    +
    +
    +
    +
    Ask me about
    +
    {{ page.ask_me_about }}
    +
    +
    + {% if page.location != Nil %} +
    +
    + {% if page.location == "virtual" %} +
    I'll be available online
    + {% else %} + {% if page.location %} + {% assign location = site.locations | where: "gid", page.location | first %} + {% assign locs = location | join: ", " %} + {% endif %} + +
    I'll be at
    +
    {{ location.name }}
    + {% endif %} +
    +
    + {% endif %} +
    +
    +
    + +{% assign mentor_org = site.organisations | where: "gid", page.organisation | first %} + +{% if mentor_org %} + +
    +
    + {% include organisation_cards.bs.html organisation_ids=mentor_org.gid logo_only=true %} + {% comment %} +
    +
    +

    Organisation

    +
    +
    +
    +
    + {% endcomment %} +
    +
    +{% endif %} + +{% assign dataset_ids = "" %} +{% for dataset in site.datasets %} + {% for mentor_id in dataset.mentors %} + {% if mentor_id == page.gid %} + {% assign dataset_ids = dataset_ids | append: dataset.gid %} + {% assign dataset_ids = dataset_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless dataset_ids == "" %} + +
    +
    +
    +
    +

    Datasets

    +
    +
    +
    + {% assign dataset_ids_list = dataset_ids | lstrip | split: "," %} + {% include dataset_cards.bs.html dataset_ids=dataset_ids_list %} +
    +
    +
    +{% endunless %} + +{% if page.dataportals %} + +
    +
    +
    +
    +

    Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=page.dataportals %} +
    +
    +
    +{% endif %} + +{% assign prize_ids = "" %} +{% for prize in site.prizes %} + {% for organisation_id in prize.organisations %} + {% if organisation_id == page.gid %} + {% assign prize_ids = prize_ids | append: prize.gid %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% comment %} +============================================================== +We're not doing these this year. +============================================================== + +{% assign theme_ids = "" %} +{% for theme in site.themes %} + {% for mentor_id in theme.mentors %} + {% if mentor_id == page.gid %} + {% assign theme_ids = theme_ids | append: theme.id %} + {% assign theme_ids = theme_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless theme_ids == "" %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% assign theme_ids_list = theme_ids | lstrip | split: "," %} + {% include theme_cards.bs.html theme_ids=theme_ids_list %} +
    +
    +
    +{% endunless %} + +{% if page.fields %} + +
    +
    +
    +
    +

    Fields

    +
    +
    +
    + {% include field_cards.bs.html field_ids=page.fields %} +
    +
    +
    +{% endif %} +{% endcomment %} \ No newline at end of file diff --git a/_layouts/organisation.html b/_layouts/organisation.html new file mode 100644 index 0000000..0cf7027 --- /dev/null +++ b/_layouts/organisation.html @@ -0,0 +1,235 @@ +--- +layout: bootstrap +--- + +
    +
    + +
    +
    + +
    +
    + +
    + +

    {{ page.name }}

    + + {% if page.sponsor_level %} +

    {{ page.sponsor_level }}

    + {% endif %} + +
    + + + + {% if content %} + {{ content }} + {% endif %} + + {% if page.contact.twitter %} + + Talk to us on Twitter
    @{{ page.contact.twitter }} +
    + {% endif %} + + {% if page.contact.slack_team %} + {% if page.contact.slack_channel %} + + Chat to us on Slack in
    #{{ page.contact.slack_channel }} +
    + {% else %} + + Chat to us on the Slack
    {{ page.contact.slack_team }} +
    + {% endif %} + {% endif %} +
    +
    + +{% assign prize_ids = "" %} +{% for prize in site.prizes %} + {% for organisation_id in prize.organisations %} + {% if organisation_id == page.gid %} + {% assign prize_ids = prize_ids | append: prize.gid %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless prize_ids == "" %} + +
    +
    +
    +
    +

    Our Prizes

    +
    +
    +
    + {% assign prize_ids_list = prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=prize_ids_list show_org_name=false show_prize_type=true %} +
    +
    +
    +{% endunless %} + +{% capture mentor_ids %}{% include get_organisation_mentors.html organisation_id=page.gid %}{% endcapture %} +{% assign mentor_ids = mentor_ids | lstrip %} + +{% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    Our Mentors

    +
    +
    +
    + {% include mentor_cards.team.bs.html mentor_ids=mentor_ids %} +
    +
    +
    +{% endunless %} + +{% if page.gid == "queensland-government-2" %} + {% capture mentor_ids %}{% include get_organisation_mentors.html organisation_id="queensland-government" %}{% endcapture %} + {% assign mentor_ids = mentor_ids | lstrip %} + + {% unless mentor_ids == "" %} + +
    +
    +
    +
    +

    Our Mentors

    +
    +
    +
    + {% include mentor_cards.team.bs.html mentor_ids=mentor_ids %} +
    +
    +
    + {% endunless %} +{% endif %} + + + +{% assign dataset_ids = site.datasets | where: "organisation", page.gid | map: "gid" %} +{% assign dataset_ids_len = dataset_ids | size %} +{% if dataset_ids_len > 0 %} + +
    +
    +
    +
    +

    Our Featured Datasets

    +
    +
    +
    + {% include dataset_cards.bs.html dataset_ids=dataset_ids %} +
    +
    +
    +{% endif %} + +{% assign dataportal_ids = site.dataportals | where: "organisation", page.gid | map: "gid" %} +{% assign dataportal_ids_len = dataportal_ids | size %} +{% if dataportal_ids_len > 0 %} + +
    +
    +
    +
    +

    Our Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endif %} + +{% comment %} +============================================================== +We're not doing these this year. +============================================================== + +{% if page.themes %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% include theme_cards.bs.html theme_ids=page.themes %} +
    +
    +
    +{% endif %} + +{% if page.fields %} + +
    +
    +
    +
    +

    Fields

    +
    +
    +
    + {% include field_cards.bs.html field_ids=page.fields %} +
    +
    +
    +{% endif %} +{% endcomment %} \ No newline at end of file diff --git a/_layouts/prize.html b/_layouts/prize.html new file mode 100644 index 0000000..6194bf7 --- /dev/null +++ b/_layouts/prize.html @@ -0,0 +1,123 @@ +--- +layout: bootstrap +--- + +
    +
    + {% if page.photo_url %} + + {% endif %} + +

    {{ page.name }}

    +

    {{ page.organisation_title }}

    + + {% for jurisdiction in site.jurisdictions %} + {% if jurisdiction.gid == page.jurisdiction %} + {% assign jurisdiction = jurisdiction %} + {% break %} + {% endif %} + {% endfor %} + +

    {{ jurisdiction.name }}

    + +

    Type: {{ page.type}}

    + + {% if page.locations %} + {% capture locations %} + {% for location in page.locations %} + {{ location }} + {% endfor %} + {% endcapture %} +

    Locations: {{ locations }}

    + {% endif %} + + {% comment %} +
    We apologise but prize info is temporarily unavailable. They will be back soon - stay in touch with your hosts for announcements.
    + {% endcomment %} + {{ page.content }} + + + All cash prizes are up to the value stated on the prize.
    GovHack reserves the right to amend the value of
    cash prizes if event running costs exceed the total
    sponsorship collected. Click here for more information. +
    +
    +
    + +{% if page.organisations %} + +
    +
    +
    +
    +

    Prize Sponsors

    +
    +
    +
    + {% for organisation_gid in page.organisations %} + {% assign organisation = site.organisations | where: "gid", organisation_gid | first %} + + {% if organisation %} +
    + {% if organisation.logo_url %} + + {% else %} +

    {{ organisation.title }}

    + {% endif %} +
    + {% endif %} + {% endfor %} +
    +
    +
    +{% endif %} + +{% comment %} +{% if page.datasets %} + +
    +
    +
    +
    +

    Datasets

    +
    +
    +
    + {% include dataset_cards.bs.html dataset_ids=page.datasets %} +
    +
    +
    +{% endif %} + +{% if page.themes %} + +
    +
    +
    +
    +

    Themes

    +
    +
    +
    + {% include theme_cards.bs.html theme_ids=page.themes %} +
    +
    +
    +{% endif %} + +{% if page.dataportals %} + +
    +
    +
    +
    +

    Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=page.dataportals %} +
    +
    +
    +{% endif %} + +{% include sponsors_national.html %} +{% endcomment %} diff --git a/_layouts/prize.old.html b/_layouts/prize.old.html new file mode 100644 index 0000000..e994784 --- /dev/null +++ b/_layouts/prize.old.html @@ -0,0 +1,59 @@ +--- +layout: default +--- +
    +
    +

    {{ page.name }}

    + +
    + {% for jurisdiction in site.jurisdictions %} + {% if jurisdiction.gid == page.jurisdiction %} + {% assign jurisdiction = jurisdiction %} + {% break %} + {% endif %} + {% endfor %} +

    Jurisdiction: {{ jurisdiction.name }}

    + + {% if page.locations %} + {% capture locations %} + {% for location in page.locations %} + {{ location }} + {% endfor %} + {% endcapture %} +

    Locations: {{ locations }}

    + {% endif %} + +

    Type: {{ page.type}}

    + + + + {{ content }} + +

    Organisations

    + {% include organisation_cards.html organisation_ids=page.organisations %} + + {% if page.datasets %} +

    Datasets

    + {% include dataset_cards.html dataset_ids=page.datasets %} + {% endif %} + + {% if page.themes %} +

    Themes

    + {% include theme_cards.html theme_ids=page.themes %} + {% endif %} + + {% if page.dataportals %} +

    Dataportals

    + {% include dataportal_cards.html dataportal_ids=page.dataportals %} + {% endif %} +
    + +
    + +
    +
    +{% include autoreload-in-debug.html %} diff --git a/_layouts/project.html b/_layouts/project.html new file mode 100644 index 0000000..a4cd486 --- /dev/null +++ b/_layouts/project.html @@ -0,0 +1,34 @@ +--- +layout: bootstrap +type: project +--- +{% assign location = site.locations | where: "gid", page.event | first %} +{% assign image_url = page.image_url | default: 'https://assets.govhack.org/img/logo/govhack-original-transp.png' %} + + + +
    +
    +
    + +

    {{ page.project_title }}

    +
    + + by {{ page.team_name }}, at + {{ location.name }}, {{ location.jurisdiction | upcase }} + + + Hackerspace ⋄ + Project site ⋄ + Repo ⋄ + Video + +
    +
    + +
    + + {{ page.content }} + +
    +
    \ No newline at end of file diff --git a/_layouts/theme.html b/_layouts/theme.html new file mode 100644 index 0000000..4fede34 --- /dev/null +++ b/_layouts/theme.html @@ -0,0 +1,123 @@ +--- +layout: bootstrap +--- + +
    +
    + +
    + {{ content }} +
    +
    +
    + +{% assign prize_ids = "" %} +{% for prize in site.prizes %} + {% for theme_id in prize.themes %} + {% if theme_id == page.id %} + {% assign prize_ids = prize_ids | append: prize.gid %} + {% assign prize_ids = prize_ids | append: "," %} + {% endif %} + {% endfor %} +{% endfor %} + +{% unless prize_ids == "" %} + +
    +
    +
    +
    +

    Prizes

    +
    +
    +
    + {% assign prize_ids_list = prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=prize_ids_list %} +
    +
    +
    +{% endunless %} + +{% if page.datasets %} + +
    +
    +
    +
    +

    Datasets

    +
    +
    +
    + {% include dataset_cards.bs.html dataset_ids=page.datasets %} +
    +
    +
    +{% endif %} + +{% if page.dataportals %} + +
    +
    +
    +
    +

    Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=page.dataportals %} +
    +
    +
    +{% endif %} + +{% if page.mentors %} + +
    +
    +
    +
    +

    Mentors

    +
    +
    +
    + {% include mentor_cards.bs.html mentor_ids=page.mentors %} +
    +
    +
    +{% endif %} + +{% if page.organisations %} + +
    +
    +
    +
    +

    Organisations

    +
    +
    +
    + {% include organisation_cards.bs.html organisation_ids=page.organisations %} +
    +
    +
    +{% endif %} + +{% if page.fields %} + +
    +
    +
    +
    +

    Fields

    +
    +
    +
    + {% include field_cards.bs.html field_ids=page.fields %} +
    +
    +
    +{% endif %} \ No newline at end of file diff --git a/_locations/vic/wyndham.md b/_locations/vic/wyndham.md new file mode 100644 index 0000000..4e2d37e --- /dev/null +++ b/_locations/vic/wyndham.md @@ -0,0 +1,41 @@ +--- +jurisdiction: vic +gid: wyndham +name: Hack for Wyndham +prefix: GovHack +type: Theme Node +theme: TBA +eventbrite: +location: + lat: -37.9119 + lon: 144.6534 +venue: + name: + address: TBA + host: TBA + accessibility: TBA + under_18: TBA + capacity: TBA + parking: TBA + public_transport: TBA + public_transport_last: TBA +catering: TBA +times: + friday: + open: TBA + close: TBA + saturday: + open: TBA + close: TBA + sunday: + open: TBA + close: TBA +contact: + phone: TBA +is_capital_city: FALSE +display_weight: 30 +dataportals: + - wyndham +--- + +Welcome to "Hack for Wyndham", a hackathon to use open data and build some thing useful for the people of Wyndham and Victoria. \ No newline at end of file diff --git a/_organisations/sponsors/1303-2.md b/_organisations/sponsors/1303-2.md new file mode 100644 index 0000000..aab8ae4 --- /dev/null +++ b/_organisations/sponsors/1303-2.md @@ -0,0 +1,11 @@ +--- +gid: 1303-2 +title: Statistics NZ +name: Statistics NZ +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/statistics_nz_logo_vertical-11.png' +sponsor_level: NZ National Sponsor +sponsor_level_id: nz-national +sponsor_level_desc: Silver and National Sponsors +jurisdiction: nz +is_sponsor: true +--- diff --git a/_organisations/sponsors/1307-2.md b/_organisations/sponsors/1307-2.md new file mode 100644 index 0000000..323fa8f --- /dev/null +++ b/_organisations/sponsors/1307-2.md @@ -0,0 +1,11 @@ +--- +gid: 1307-2 +title: Qlik +name: Qlik +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/qlik_logo_vertical-11.png' +sponsor_level: NZ National Sponsor +sponsor_level_id: nz-national +sponsor_level_desc: Silver and National Sponsors +jurisdiction: nz +is_sponsor: true +--- diff --git a/_organisations/sponsors/41st-degree-software.md b/_organisations/sponsors/41st-degree-software.md new file mode 100644 index 0000000..d2718e5 --- /dev/null +++ b/_organisations/sponsors/41st-degree-software.md @@ -0,0 +1,13 @@ +--- +gid: 41st-degree-software +title: 41st Degree Software +name: 41st Degree Software +type: corporate +website_url: 'http://41ds.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/41st_degree_software.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/aarnet.md b/_organisations/sponsors/aarnet.md new file mode 100644 index 0000000..4a45c8e --- /dev/null +++ b/_organisations/sponsors/aarnet.md @@ -0,0 +1,12 @@ +--- +gid: aarnet +title: AARNet +name: AARNet +website_url: 'https://www.aarnet.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/aarnet.png' +sponsor_level: National Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: australia +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/abc.md b/_organisations/sponsors/abc.md new file mode 100644 index 0000000..e17582c --- /dev/null +++ b/_organisations/sponsors/abc.md @@ -0,0 +1,12 @@ +--- +gid: abc +title: Australian Broadcasting Corporation +name: Australian Broadcasting Corporation +website_url: 'http://about.abc.net.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/ABC_Primary_CMYK-300x3001.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/acquia.md b/_organisations/sponsors/acquia.md new file mode 100644 index 0000000..ba7711a --- /dev/null +++ b/_organisations/sponsors/acquia.md @@ -0,0 +1,12 @@ +--- +gid: acquia +title: Acquia +name: Acquia +website_url: 'https://www.acquia.com/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/acquia.png' +sponsor_level: National Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/act-chief-minister-treasury-and-economic-development-directorate.md b/_organisations/sponsors/act-chief-minister-treasury-and-economic-development-directorate.md new file mode 100644 index 0000000..68d75fd --- /dev/null +++ b/_organisations/sponsors/act-chief-minister-treasury-and-economic-development-directorate.md @@ -0,0 +1,12 @@ +--- +gid: act-chief-minister-treasury-and-economic-development-directorate +title: Park CBR +name: Park CBR +website_url: 'http://www.cmd.act.gov.au/smartparking/home' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/park_cbr.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: act +is_sponsor: true +--- diff --git a/_organisations/sponsors/act-government-environment-and-planning.md b/_organisations/sponsors/act-government-environment-and-planning.md new file mode 100644 index 0000000..e68ffb4 --- /dev/null +++ b/_organisations/sponsors/act-government-environment-and-planning.md @@ -0,0 +1,12 @@ +--- +gid: act-government-environment-and-planning +title: ACT Government Environment and Planning +name: ACT Government Environment and Planning +website_url: 'http://www.planning.act.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/act_environment_and_planning.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: act +is_sponsor: true +--- diff --git a/_organisations/sponsors/adelaide-city-council.md b/_organisations/sponsors/adelaide-city-council.md new file mode 100644 index 0000000..b9648af --- /dev/null +++ b/_organisations/sponsors/adelaide-city-council.md @@ -0,0 +1,12 @@ +--- +gid: adelaide-city-council +title: Adelaide City Council +name: Adelaide City Council +website_url: 'http://www.adelaidecitycouncil.com/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/adelaide_city_council.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/almost-anything-web-and-graphic-design.md b/_organisations/sponsors/almost-anything-web-and-graphic-design.md new file mode 100644 index 0000000..187d904 --- /dev/null +++ b/_organisations/sponsors/almost-anything-web-and-graphic-design.md @@ -0,0 +1,15 @@ +--- +gid: almost-anything-web-and-graphic-design +title: Almost Anything Web and Graphic Design +name: Almost Anything Web and Graphic Design +type: corporate +website_url: 'http://www.almostanything.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/almost_anything.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - rockhampton-maker +is_sponsor: true +--- diff --git a/_organisations/sponsors/amazon-web-services.md b/_organisations/sponsors/amazon-web-services.md new file mode 100644 index 0000000..d2390d0 --- /dev/null +++ b/_organisations/sponsors/amazon-web-services.md @@ -0,0 +1,12 @@ +--- +gid: amazon-web-services +title: Amazon Web Services +name: Amazon Web Services +website_url: 'https://aws.amazon.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/amazon_web_services.png' +sponsor_level: National Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/ancestry.md b/_organisations/sponsors/ancestry.md new file mode 100644 index 0000000..062624c --- /dev/null +++ b/_organisations/sponsors/ancestry.md @@ -0,0 +1,12 @@ +--- +gid: ancestry +title: Ancestry +name: Ancestry +website_url: 'http://www.ancestry.com.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/ancestry.png' +sponsor_level: International Prize Sponsor +sponsor_level_id: international-prize +sponsor_level_desc: International Prize Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/attorney-generals-department-sa.md b/_organisations/sponsors/attorney-generals-department-sa.md new file mode 100644 index 0000000..444dff9 --- /dev/null +++ b/_organisations/sponsors/attorney-generals-department-sa.md @@ -0,0 +1,12 @@ +--- +gid: attorney-generals-department-sa +title: Attorney General's Department SA +name: Attorney General's Department SA +website_url: 'http://www.ag.gov.au/Pages/default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sa_attorney_generals_department.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/australian-bureau-of-statistics.md b/_organisations/sponsors/australian-bureau-of-statistics.md new file mode 100644 index 0000000..695a2e1 --- /dev/null +++ b/_organisations/sponsors/australian-bureau-of-statistics.md @@ -0,0 +1,15 @@ +--- +gid: australian-bureau-of-statistics +title: Australian Bureau of Statistics +name: Australian Bureau of Statistics +website_url: 'http://www.abs.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/australian_bureau_of_statistics.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +contact: + slack_team: govhackhq.slack.com + slack_channel: talk-stats +--- diff --git a/_organisations/sponsors/australian-business-register.md b/_organisations/sponsors/australian-business-register.md new file mode 100644 index 0000000..5d0ade1 --- /dev/null +++ b/_organisations/sponsors/australian-business-register.md @@ -0,0 +1,12 @@ +--- +gid: australian-business-register +title: Australian Business Register +name: Australian Business Register +website_url: 'https://abr.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/australian_business_register.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/australian-computer-society-2.md b/_organisations/sponsors/australian-computer-society-2.md new file mode 100644 index 0000000..6065e0c --- /dev/null +++ b/_organisations/sponsors/australian-computer-society-2.md @@ -0,0 +1,12 @@ +--- +gid: australian-computer-society-2 +title: Australian Computer Society +name: Australian Computer Society +website_url: 'https://www.acs.org.au/branches/tasmania' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/australian_computer_society.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: tas +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/australian-computer-society.md b/_organisations/sponsors/australian-computer-society.md new file mode 100644 index 0000000..74e2050 --- /dev/null +++ b/_organisations/sponsors/australian-computer-society.md @@ -0,0 +1,12 @@ +--- +gid: australian-computer-society +title: Australian Computer Society +name: Australian Computer Society +website_url: 'http://www.acs.org.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/australian_computer_society.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/australian-financial-security-authority.md b/_organisations/sponsors/australian-financial-security-authority.md new file mode 100644 index 0000000..99c3048 --- /dev/null +++ b/_organisations/sponsors/australian-financial-security-authority.md @@ -0,0 +1,12 @@ +--- +gid: australian-financial-security-authority +title: Australian Financial Security Authority +name: Australian Financial Security Authority +website_url: 'https://www.afsa.gov.au/resources/statistics/govhack' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/australian_financial_security_authority.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/australian-institute-of-health-and-welfare.md b/_organisations/sponsors/australian-institute-of-health-and-welfare.md new file mode 100644 index 0000000..d09c812 --- /dev/null +++ b/_organisations/sponsors/australian-institute-of-health-and-welfare.md @@ -0,0 +1,12 @@ +--- +gid: australian-institute-of-health-and-welfare +title: Australian Institute of Health and Welfare +name: Australian Institute of Health and Welfare +website_url: 'http://www.aihw.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/australian_institute_of_health_and_welfare.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/australian-taxation-office.md b/_organisations/sponsors/australian-taxation-office.md new file mode 100644 index 0000000..f93fac3 --- /dev/null +++ b/_organisations/sponsors/australian-taxation-office.md @@ -0,0 +1,14 @@ +--- +gid: australian-taxation-office +title: Australian Taxation Office +name: Australian Taxation Office +website_url: 'https://www.ato.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/australian_taxation_office.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- + + \ No newline at end of file diff --git a/_organisations/sponsors/aws.md b/_organisations/sponsors/aws.md new file mode 100644 index 0000000..eb5fede --- /dev/null +++ b/_organisations/sponsors/aws.md @@ -0,0 +1,15 @@ +--- +gid: aws +title: AWS +name: AWS +type: corporate +website_url: 'https://aws.amazon.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/amazon_web_services.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: nsw +events: + - sydney +is_sponsor: true +--- diff --git a/_organisations/sponsors/bickfords-australia.md b/_organisations/sponsors/bickfords-australia.md new file mode 100644 index 0000000..b8f911b --- /dev/null +++ b/_organisations/sponsors/bickfords-australia.md @@ -0,0 +1,15 @@ +--- +gid: bickfords-australia +title: Bickford's Australia +name: Bickford's Australia +type: corporate +website_url: 'http://www.bickfords.net' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/bickfords.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - port-adelaide-enfield +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/bitlink.md b/_organisations/sponsors/bitlink.md new file mode 100644 index 0000000..b6956c7 --- /dev/null +++ b/_organisations/sponsors/bitlink.md @@ -0,0 +1,12 @@ +--- +gid: bitlink +title: Bitlink +name: Bitlink +website_url: 'http://www.bitlink.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/bitlink.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/bitplex.md b/_organisations/sponsors/bitplex.md new file mode 100644 index 0000000..fe75fe7 --- /dev/null +++ b/_organisations/sponsors/bitplex.md @@ -0,0 +1,15 @@ +--- +gid: bitplex +title: Bitplex +name: Bitplex +type: corporate +website_url: 'https://www.bitplex.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/bitplex.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - rockhampton-maker +is_sponsor: true +--- diff --git a/_organisations/sponsors/brisbane-city-council.md b/_organisations/sponsors/brisbane-city-council.md new file mode 100644 index 0000000..788e910 --- /dev/null +++ b/_organisations/sponsors/brisbane-city-council.md @@ -0,0 +1,12 @@ +--- +gid: brisbane-city-council +title: Brisbane City Council +name: Brisbane City Council +website_url: 'https://www.brisbane.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/brisbane_city_council.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/buddy-platform.md b/_organisations/sponsors/buddy-platform.md new file mode 100644 index 0000000..8932641 --- /dev/null +++ b/_organisations/sponsors/buddy-platform.md @@ -0,0 +1,15 @@ +--- +gid: buddy-platform +title: Buddy Platform +name: Buddy Platform +type: corporate +website_url: 'https://buddy.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/buddy_small.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/bureau-of-meteorology.md b/_organisations/sponsors/bureau-of-meteorology.md new file mode 100644 index 0000000..6ce330e --- /dev/null +++ b/_organisations/sponsors/bureau-of-meteorology.md @@ -0,0 +1,14 @@ +--- +gid: bureau-of-meteorology +title: Bureau of Meteorology +name: Bureau of Meteorology +website_url: 'http://www.bom.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/bureau_of_meteorology.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +dataportals: + - bom +--- diff --git a/_organisations/sponsors/business-sa.md b/_organisations/sponsors/business-sa.md new file mode 100644 index 0000000..3ba53ec --- /dev/null +++ b/_organisations/sponsors/business-sa.md @@ -0,0 +1,12 @@ +--- +gid: business-sa +title: Business SA +name: Business SA +website_url: 'http://business-sa.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/business_sa.png' +sponsor_level: Premier Sponsor +sponsor_level_id: premier +sponsor_level_desc: Premier Sponsors +jurisdiction: sa +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/canberra-grammar-school.md b/_organisations/sponsors/canberra-grammar-school.md new file mode 100644 index 0000000..39d7687 --- /dev/null +++ b/_organisations/sponsors/canberra-grammar-school.md @@ -0,0 +1,15 @@ +--- +gid: canberra-grammar-school +title: Canberra Grammar School +name: Canberra Grammar School +type: community +website_url: 'http://cgs.act.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/canberra_grammar_school.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: act +events: + - canberra +is_sponsor: true +--- diff --git a/_organisations/sponsors/cbr-innovation-network.md b/_organisations/sponsors/cbr-innovation-network.md new file mode 100644 index 0000000..783f72f --- /dev/null +++ b/_organisations/sponsors/cbr-innovation-network.md @@ -0,0 +1,13 @@ +--- +gid: cbr-innovation-network +title: CBR Innovation Network +name: CBR Innovation Network +type: government +website_url: 'http://cbrin.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/cbr_innovation_network.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: act +is_sponsor: true +--- diff --git a/_organisations/sponsors/chiliad-consulting.md b/_organisations/sponsors/chiliad-consulting.md new file mode 100644 index 0000000..9315dd0 --- /dev/null +++ b/_organisations/sponsors/chiliad-consulting.md @@ -0,0 +1,12 @@ +--- +gid: chiliad-consulting +title: Chiliad Consulting +name: Chiliad Consulting +website_url: 'http://www.chiliad.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/chiliad_consulting.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-ballarat.md b/_organisations/sponsors/city-of-ballarat.md new file mode 100644 index 0000000..63a486b --- /dev/null +++ b/_organisations/sponsors/city-of-ballarat.md @@ -0,0 +1,15 @@ +--- +gid: city-of-ballarat +title: City of Ballarat +name: City of Ballarat +type: government +website_url: 'http://www.ballarat.vic.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_ballarat.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: vic +events: + - ballarat +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-gold-coast.md b/_organisations/sponsors/city-of-gold-coast.md new file mode 100644 index 0000000..fe3e648 --- /dev/null +++ b/_organisations/sponsors/city-of-gold-coast.md @@ -0,0 +1,15 @@ +--- +gid: city-of-gold-coast +title: City of Gold Coast +name: City of Gold Coast +type: government +website_url: 'http://www.goldcoast.qld.gov.au/default.html' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_gold_coast.png' +sponsor_level: Premier Sponsor +sponsor_level_id: premier +sponsor_level_desc: Premier Sponsors +jurisdiction: qld +events: + - gold-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-greater-geelong.md b/_organisations/sponsors/city-of-greater-geelong.md new file mode 100644 index 0000000..d8ca77e --- /dev/null +++ b/_organisations/sponsors/city-of-greater-geelong.md @@ -0,0 +1,15 @@ +--- +gid: city-of-greater-geelong +title: City of Greater Geelong +name: City of Greater Geelong +type: government +website_url: 'http://www.geelongaustralia.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_greater_geelong.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: vic +events: + - geelong +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-hobart.md b/_organisations/sponsors/city-of-hobart.md new file mode 100644 index 0000000..2c767cf --- /dev/null +++ b/_organisations/sponsors/city-of-hobart.md @@ -0,0 +1,12 @@ +--- +gid: city-of-hobart +title: City of Hobart +name: City of Hobart +website_url: 'http://www.hobartcity.com.au/Home' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_hobart.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-melbourne.md b/_organisations/sponsors/city-of-melbourne.md new file mode 100644 index 0000000..dcae295 --- /dev/null +++ b/_organisations/sponsors/city-of-melbourne.md @@ -0,0 +1,12 @@ +--- +gid: city-of-melbourne +title: City of Melbourne +name: City of Melbourne +website_url: 'http://www.melbourne.vic.gov.au/Pages/Home.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/city_of_melbourne_colour.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: vic +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-mount-gambier.md b/_organisations/sponsors/city-of-mount-gambier.md new file mode 100644 index 0000000..91bb225 --- /dev/null +++ b/_organisations/sponsors/city-of-mount-gambier.md @@ -0,0 +1,15 @@ +--- +gid: city-of-mount-gambier +title: City of Mount Gambier +name: City of Mount Gambier +type: government +website_url: 'http://www.mountgambier.sa.gov.au/page.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_mount_gambier.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +events: + - mount-gambier-youth +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-onkaparinga.md b/_organisations/sponsors/city-of-onkaparinga.md new file mode 100644 index 0000000..f42358b --- /dev/null +++ b/_organisations/sponsors/city-of-onkaparinga.md @@ -0,0 +1,15 @@ +--- +gid: city-of-onkaparinga +title: City of Onkaparinga +name: City of Onkaparinga +type: government +website_url: 'http://www.onkaparingacity.com/onka/home.jsp' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_onkaparinga.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +events: + - onkaparinga +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-playford.md b/_organisations/sponsors/city-of-playford.md new file mode 100644 index 0000000..1c80285 --- /dev/null +++ b/_organisations/sponsors/city-of-playford.md @@ -0,0 +1,15 @@ +--- +gid: city-of-playford +title: City of Playford +name: City of Playford +type: government +website_url: 'http://www.playford.sa.gov.au/page.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_playford.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +events: + - playford +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-port-adelaide-enfield.md b/_organisations/sponsors/city-of-port-adelaide-enfield.md new file mode 100644 index 0000000..b438187 --- /dev/null +++ b/_organisations/sponsors/city-of-port-adelaide-enfield.md @@ -0,0 +1,15 @@ +--- +gid: city-of-port-adelaide-enfield +title: City of Port Adelaide Enfield +name: City of Port Adelaide Enfield +type: government +website_url: 'https://www.portenf.sa.gov.au/page.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_port_adelaide_enfield.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +events: + - port-adelaide-enfield +is_sponsor: true +--- diff --git a/_organisations/sponsors/city-of-sydney.md b/_organisations/sponsors/city-of-sydney.md new file mode 100644 index 0000000..ff945c4 --- /dev/null +++ b/_organisations/sponsors/city-of-sydney.md @@ -0,0 +1,12 @@ +--- +gid: city-of-sydney +title: City of Sydney +name: City of Sydney +website_url: 'http://www.cityofsydney.nsw.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/city_of_sydney.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: nsw +is_sponsor: true +--- diff --git a/_organisations/sponsors/clickdish.md b/_organisations/sponsors/clickdish.md new file mode 100644 index 0000000..e549f0a --- /dev/null +++ b/_organisations/sponsors/clickdish.md @@ -0,0 +1,12 @@ +--- +gid: clickdish +title: Clickdish +name: Clickdish +website_url: 'http://www.clickdish.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/clickdish.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/coca-cola-amatil.md b/_organisations/sponsors/coca-cola-amatil.md new file mode 100644 index 0000000..112270f --- /dev/null +++ b/_organisations/sponsors/coca-cola-amatil.md @@ -0,0 +1,15 @@ +--- +gid: coca-cola-amatil +title: Coca Cola Amatil +name: Coca Cola Amatil +type: corporate +website_url: 'https://www.ccamatil.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/coca_cola_amatil.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/coder-factory.md b/_organisations/sponsors/coder-factory.md new file mode 100644 index 0000000..69f1317 --- /dev/null +++ b/_organisations/sponsors/coder-factory.md @@ -0,0 +1,15 @@ +--- +gid: coder-factory +title: Coder Factory +name: Coder Factory +type: corporate +website_url: 'https://www.coderfactoryacademy.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/coder_factory.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: nsw +events: + - sydney +is_sponsor: true +--- diff --git a/_organisations/sponsors/committee-for-sydney.md b/_organisations/sponsors/committee-for-sydney.md new file mode 100644 index 0000000..43caa47 --- /dev/null +++ b/_organisations/sponsors/committee-for-sydney.md @@ -0,0 +1,13 @@ +--- +gid: committee-for-sydney +title: Committee for Sydney +name: Committee for Sydney +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/Committee-for-Sydney.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: nsw +events: + - sydney +is_sponsor: true +--- diff --git a/_organisations/sponsors/data-61.md b/_organisations/sponsors/data-61.md new file mode 100644 index 0000000..12b2580 --- /dev/null +++ b/_organisations/sponsors/data-61.md @@ -0,0 +1,12 @@ +--- +gid: data-61 +title: Data61 +name: Data61 +website_url: 'http://www.data61.csiro.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/csiro.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/data-to-decisions-crc.md b/_organisations/sponsors/data-to-decisions-crc.md new file mode 100644 index 0000000..05edbb6 --- /dev/null +++ b/_organisations/sponsors/data-to-decisions-crc.md @@ -0,0 +1,14 @@ +--- +gid: data-to-decisions-crc +title: Data to Decisions CRC +name: Data to Decisions CRC +type: government +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/data_to_decisions_crc.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/deakin-university-department-of-information-systems-and-business-analytics.md b/_organisations/sponsors/deakin-university-department-of-information-systems-and-business-analytics.md new file mode 100644 index 0000000..9965c22 --- /dev/null +++ b/_organisations/sponsors/deakin-university-department-of-information-systems-and-business-analytics.md @@ -0,0 +1,15 @@ +--- +gid: deakin-university-department-of-information-systems-and-business-analytics +title: Deakin University Department of Information Systems and Business Analytics +name: Deakin University Department of Information Systems and Business Analytics +type: University +website_url: 'http://www.deakin.edu.au/business/information-systems-business-analytics' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/deakin_university_department_of_information_systems_and_business_analytics.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: vic +events: + - geelong +is_sponsor: true +--- diff --git a/_organisations/sponsors/denv.md b/_organisations/sponsors/denv.md new file mode 100644 index 0000000..b3ba426 --- /dev/null +++ b/_organisations/sponsors/denv.md @@ -0,0 +1,12 @@ +--- +gid: denv +title: SA Department of Environment, Water and Natural Resources +name: SA Department of Environment, Water and Natural Resources +website_url: 'http://www.environment.sa.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/sa_department_of_environment_water_and_natural_resources.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-education-and-training.md b/_organisations/sponsors/department-of-education-and-training.md new file mode 100644 index 0000000..3aca0ed --- /dev/null +++ b/_organisations/sponsors/department-of-education-and-training.md @@ -0,0 +1,14 @@ +--- +gid: department-of-education-and-training +title: Department of Education and Training +name: Department of Education and Training +website_url: 'https://www.education.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/dept_of_education_and_training.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +contact: + twitter: EDUGovHack2016 +--- \ No newline at end of file diff --git a/_organisations/sponsors/department-of-employment.md b/_organisations/sponsors/department-of-employment.md new file mode 100644 index 0000000..d5527fd --- /dev/null +++ b/_organisations/sponsors/department-of-employment.md @@ -0,0 +1,12 @@ +--- +gid: department-of-employment +title: Department of Employment +name: Department of Employment +website_url: 'https://www.employment.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/dept_of_employment.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-finance.md b/_organisations/sponsors/department-of-finance.md new file mode 100644 index 0000000..42dffc1 --- /dev/null +++ b/_organisations/sponsors/department-of-finance.md @@ -0,0 +1,12 @@ +--- +gid: department-of-finance +title: Department of Finance +name: Department of Finance +website_url: 'http://www.finance.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/department_of_finance.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-industry-innovation-and-science.md b/_organisations/sponsors/department-of-industry-innovation-and-science.md new file mode 100644 index 0000000..d240942 --- /dev/null +++ b/_organisations/sponsors/department-of-industry-innovation-and-science.md @@ -0,0 +1,12 @@ +--- +gid: department-of-industry-innovation-and-science +title: Department of Industry, Innovation and Science +name: Department of Industry, Innovation and Science +website_url: 'http://www.industry.gov.au/Pages/default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/dept_of_industry_science_and_innovation.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-infrastructure-and-regional-development.md b/_organisations/sponsors/department-of-infrastructure-and-regional-development.md new file mode 100644 index 0000000..4e01e67 --- /dev/null +++ b/_organisations/sponsors/department-of-infrastructure-and-regional-development.md @@ -0,0 +1,12 @@ +--- +gid: department-of-infrastructure-and-regional-development +title: Department of Infrastructure and Regional Development +name: Department of Infrastructure and Regional Development +website_url: 'https://infrastructure.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/dept_of_infrastructure_and_regional_development.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-state-development-sa.md b/_organisations/sponsors/department-of-state-development-sa.md new file mode 100644 index 0000000..372f0eb --- /dev/null +++ b/_organisations/sponsors/department-of-state-development-sa.md @@ -0,0 +1,12 @@ +--- +gid: department-of-state-development-sa +title: Department of State Development SA +name: Department of State Development SA +website_url: 'http://www.statedevelopment.sa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sa_dept_of_state_development.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/department-of-the-prime-minister-and-cabinet.md b/_organisations/sponsors/department-of-the-prime-minister-and-cabinet.md new file mode 100644 index 0000000..37d0455 --- /dev/null +++ b/_organisations/sponsors/department-of-the-prime-minister-and-cabinet.md @@ -0,0 +1,12 @@ +--- +gid: department-of-the-prime-minister-and-cabinet +title: Department of the Prime Minister and Cabinet +name: Department of the Prime Minister and Cabinet +website_url: 'https://www.dpmc.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/department_of_the_prime_minister_and_cabinet.png' +sponsor_level: Supporter +sponsor_level_id: supporter +sponsor_level_desc: With Support From +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/digital-careers.md b/_organisations/sponsors/digital-careers.md new file mode 100644 index 0000000..d2dead7 --- /dev/null +++ b/_organisations/sponsors/digital-careers.md @@ -0,0 +1,15 @@ +--- +gid: digital-careers +title: Digital Careers +name: Digital Careers +type: government +website_url: 'http://digitalcareers.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/digital_careers.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/digital-ocean.md b/_organisations/sponsors/digital-ocean.md new file mode 100644 index 0000000..00c0417 --- /dev/null +++ b/_organisations/sponsors/digital-ocean.md @@ -0,0 +1,15 @@ +--- +gid: digital-ocean +title: Digital Ocean +name: Digital Ocean +type: corporate +website_url: 'https://www.digitalocean.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/digital_ocean.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - gold-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/dla-piper.md b/_organisations/sponsors/dla-piper.md new file mode 100644 index 0000000..84bdaea --- /dev/null +++ b/_organisations/sponsors/dla-piper.md @@ -0,0 +1,12 @@ +--- +gid: dla-piper +title: DLA Piper +name: DLA Piper +website_url: 'https://www.dlapiper.com/en/australia/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/dla_piper.png' +sponsor_level: National Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/eaglecrest-technologies.md b/_organisations/sponsors/eaglecrest-technologies.md new file mode 100644 index 0000000..4e8aaf7 --- /dev/null +++ b/_organisations/sponsors/eaglecrest-technologies.md @@ -0,0 +1,12 @@ +--- +gid: eaglecrest-technologies +title: Eaglecrest Technologies +name: Eaglecrest Technologies +website_url: 'http://www.eaglecrest.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/eaglecrest_technologies.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/envoy.md b/_organisations/sponsors/envoy.md new file mode 100644 index 0000000..c1cd303 --- /dev/null +++ b/_organisations/sponsors/envoy.md @@ -0,0 +1,15 @@ +--- +gid: envoy +title: Envoy +name: Envoy +type: corporate +website_url: 'https://www.envoyat.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/envoy.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: nsw +events: + - sydney +is_sponsor: true +--- diff --git a/_organisations/sponsors/fire-station-101.md b/_organisations/sponsors/fire-station-101.md new file mode 100644 index 0000000..e12deb2 --- /dev/null +++ b/_organisations/sponsors/fire-station-101.md @@ -0,0 +1,15 @@ +--- +gid: fire-station-101 +title: Fire Station 101 +name: Fire Station 101 +type: community +website_url: 'http://firestation101.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/fire_station_101.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - ipswich-digital-city +is_sponsor: true +--- diff --git a/_organisations/sponsors/friends-of-seaford-library.md b/_organisations/sponsors/friends-of-seaford-library.md new file mode 100644 index 0000000..73a874e --- /dev/null +++ b/_organisations/sponsors/friends-of-seaford-library.md @@ -0,0 +1,15 @@ +--- +gid: friends-of-seaford-library +title: Friends of Seaford Library +name: Friends of Seaford Library +type: community +website_url: 'http://seaford.lib.de.us/friends/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/friends_of_seaford_library.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - onkaparinga +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/friends-of-the-library-mt-gambier.md b/_organisations/sponsors/friends-of-the-library-mt-gambier.md new file mode 100644 index 0000000..f5dec3b --- /dev/null +++ b/_organisations/sponsors/friends-of-the-library-mt-gambier.md @@ -0,0 +1,14 @@ +--- +gid: friends-of-the-library-mt-gambier +title: Friends of the Library Mt Gambier +name: Friends of the Library Mt Gambier +website_url: 'http://folmtg.blogspot.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/friends_of_the_library_mt_gambier.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: sa +events: + - mount-gambier-youth +is_sponsor: true +--- diff --git a/_organisations/sponsors/geelong-regional-libraries.md b/_organisations/sponsors/geelong-regional-libraries.md new file mode 100644 index 0000000..33d7ab6 --- /dev/null +++ b/_organisations/sponsors/geelong-regional-libraries.md @@ -0,0 +1,15 @@ +--- +gid: geelong-regional-libraries +title: Geelong Regional Libraries +name: Geelong Regional Libraries +type: community +website_url: 'http://www.grlc.vic.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/geelong_regional_libraries.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: vic +events: + - geelong +is_sponsor: true +--- diff --git a/_organisations/sponsors/geoscience-australia.md b/_organisations/sponsors/geoscience-australia.md new file mode 100644 index 0000000..58b57fb --- /dev/null +++ b/_organisations/sponsors/geoscience-australia.md @@ -0,0 +1,12 @@ +--- +gid: geoscience-australia +title: Geoscience Australia +name: Geoscience Australia +website_url: 'http://www.ga.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/geoscience_australia.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/glenorchy-city-council.md b/_organisations/sponsors/glenorchy-city-council.md new file mode 100644 index 0000000..c7d874c --- /dev/null +++ b/_organisations/sponsors/glenorchy-city-council.md @@ -0,0 +1,12 @@ +--- +gid: glenorchy-city-council +title: Glenorchy City Council +name: Glenorchy City Council +website_url: 'http://www.gcc.tas.gov.au/content/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/glenorchy_city_council.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/google.md b/_organisations/sponsors/google.md new file mode 100644 index 0000000..7ab7694 --- /dev/null +++ b/_organisations/sponsors/google.md @@ -0,0 +1,12 @@ +--- +gid: google +title: Google +name: Google +website_url: 'https://www.google.com/intl/en/about/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/Google.png' +sponsor_level: International Prize Sponsor +sponsor_level_id: international-prize +sponsor_level_desc: International Prize Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/green-triangle-electronics.md b/_organisations/sponsors/green-triangle-electronics.md new file mode 100644 index 0000000..fa536d3 --- /dev/null +++ b/_organisations/sponsors/green-triangle-electronics.md @@ -0,0 +1,14 @@ +--- +gid: green-triangle-electronics +title: Green Triangle Electronics +name: Green Triangle Electronics +website_url: 'http://www.gte.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/green_triangle_electronics.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - mount-gambier-youth +is_sponsor: true +--- diff --git a/_organisations/sponsors/griffith-university.md b/_organisations/sponsors/griffith-university.md new file mode 100644 index 0000000..abfbb94 --- /dev/null +++ b/_organisations/sponsors/griffith-university.md @@ -0,0 +1,16 @@ +--- +gid: griffith-university +title: Griffith University +name: Griffith University +type: University +website_url: 'https://www.griffith.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/griffith_university.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - brisbane + - gold-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/harvey-norman.md b/_organisations/sponsors/harvey-norman.md new file mode 100644 index 0000000..cc31b7b --- /dev/null +++ b/_organisations/sponsors/harvey-norman.md @@ -0,0 +1,15 @@ +--- +gid: harvey-norman +title: Harvey Norman +name: Harvey Norman +type: corporate +website_url: 'http://www.harveynorman.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/harvey_norman.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - mount-gambier-youth +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/iag.md b/_organisations/sponsors/iag.md new file mode 100644 index 0000000..8e49bdf --- /dev/null +++ b/_organisations/sponsors/iag.md @@ -0,0 +1,12 @@ +--- +gid: iag +title: IAG +name: IAG +website_url: 'http://www.iag.com.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/iag.png' +sponsor_level: International Prize Sponsor +sponsor_level_id: international-prize +sponsor_level_desc: International Prize Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/ibm.md b/_organisations/sponsors/ibm.md new file mode 100644 index 0000000..6a7fd5d --- /dev/null +++ b/_organisations/sponsors/ibm.md @@ -0,0 +1,12 @@ +--- +gid: ibm +title: IBM +name: IBM +website_url: 'http://www.ibm.com/cloud-computing/bluemix/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/ibm.png' +sponsor_level: Lead Sponsor +sponsor_level_id: lead-sponsor +sponsor_level_desc: Lead Sponsor +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/insurance-commission-of-western-australia.md b/_organisations/sponsors/insurance-commission-of-western-australia.md new file mode 100644 index 0000000..054682d --- /dev/null +++ b/_organisations/sponsors/insurance-commission-of-western-australia.md @@ -0,0 +1,12 @@ +--- +gid: insurance-commission-of-western-australia +title: Insurance Commission of Western Australia +name: Insurance Commission of Western Australia +website_url: 'https://www.icwa.wa.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/insurance_commission_of_wa.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/ip-australia.md b/_organisations/sponsors/ip-australia.md new file mode 100644 index 0000000..fc3c783 --- /dev/null +++ b/_organisations/sponsors/ip-australia.md @@ -0,0 +1,12 @@ +--- +gid: ip-australia +title: IP Australia +name: IP Australia +website_url: 'https://www.ipaustralia.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/ip_australia.png' +sponsor_level: Lead Agency +sponsor_level_id: lead-agency +sponsor_level_desc: Lead Agency +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/jemsoft.md b/_organisations/sponsors/jemsoft.md new file mode 100644 index 0000000..6d0d419 --- /dev/null +++ b/_organisations/sponsors/jemsoft.md @@ -0,0 +1,15 @@ +--- +gid: jemsoft +title: Jemsoft +name: Jemsoft +type: corporate +website_url: 'http://jemsoft.co' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/jemsoft.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/kytons-bakery.md b/_organisations/sponsors/kytons-bakery.md new file mode 100644 index 0000000..023f442 --- /dev/null +++ b/_organisations/sponsors/kytons-bakery.md @@ -0,0 +1,15 @@ +--- +gid: kytons-bakery +title: Kytons Bakery +name: Kytons Bakery +type: corporate +website_url: 'http://www.kytonsbakery.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/kytons.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/landgate.md b/_organisations/sponsors/landgate.md new file mode 100644 index 0000000..549ed97 --- /dev/null +++ b/_organisations/sponsors/landgate.md @@ -0,0 +1,13 @@ +--- +gid: landgate +title: SPUR, Powered by Landgate +name: SPUR, Powered by Landgate +type: government +website_url: 'https://landgate.wa.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/spur.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/liferay.md b/_organisations/sponsors/liferay.md new file mode 100644 index 0000000..5265919 --- /dev/null +++ b/_organisations/sponsors/liferay.md @@ -0,0 +1,12 @@ +--- +gid: liferay +title: Liferay +name: Liferay +website_url: 'https://www.liferay.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/liferay.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: act +is_sponsor: true +--- diff --git a/_organisations/sponsors/little-tokyo-two.md b/_organisations/sponsors/little-tokyo-two.md new file mode 100644 index 0000000..688a551 --- /dev/null +++ b/_organisations/sponsors/little-tokyo-two.md @@ -0,0 +1,15 @@ +--- +gid: little-tokyo-two +title: Little Tokyo Two +name: Little Tokyo Two +type: community +website_url: 'https://www.littletokyotwo.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/little_tokyo_two.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- diff --git a/_organisations/sponsors/local-government-spatial-reference-group.md b/_organisations/sponsors/local-government-spatial-reference-group.md new file mode 100644 index 0000000..7423882 --- /dev/null +++ b/_organisations/sponsors/local-government-spatial-reference-group.md @@ -0,0 +1,12 @@ +--- +gid: local-government-spatial-reference-group +title: Local Government Spatial Reference Group +name: Local Government Spatial Reference Group +website_url: 'https://opencouncildata.org' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/spatial_reference_group.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: vic +is_sponsor: true +--- diff --git a/_organisations/sponsors/logan-city-council.md b/_organisations/sponsors/logan-city-council.md new file mode 100644 index 0000000..d847a8b --- /dev/null +++ b/_organisations/sponsors/logan-city-council.md @@ -0,0 +1,12 @@ +--- +gid: logan-city-council +title: Logan City Council +name: Logan City Council +website_url: 'http://www.logan.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/logan_city_council.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/main-roads-western-australia.md b/_organisations/sponsors/main-roads-western-australia.md new file mode 100644 index 0000000..41f1b66 --- /dev/null +++ b/_organisations/sponsors/main-roads-western-australia.md @@ -0,0 +1,12 @@ +--- +gid: main-roads-western-australia +title: Main Roads Western Australia +name: Main Roads Western Australia +website_url: 'https://www.mainroads.wa.gov.au/Pages/default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/main_roads_wa.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/mav-technology.md b/_organisations/sponsors/mav-technology.md new file mode 100644 index 0000000..1e94bde --- /dev/null +++ b/_organisations/sponsors/mav-technology.md @@ -0,0 +1,13 @@ +--- +gid: mav-technology +title: MAV Technology +name: MAV Technology +type: corporate +website_url: 'http://www.mav.technology' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/mav_technology.png' +jurisdiction: vic +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +is_sponsor: true +--- diff --git a/_organisations/sponsors/microbic-pty.md b/_organisations/sponsors/microbic-pty.md new file mode 100644 index 0000000..01b7420 --- /dev/null +++ b/_organisations/sponsors/microbic-pty.md @@ -0,0 +1,15 @@ +--- +gid: microbic-pty +title: Microbic PTY +name: Microbic PTY +type: corporate +website_url: 'https://meetedison.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/edison.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - port-adelaide-enfield +is_sponsor: true +--- diff --git a/_organisations/sponsors/microsoft-2.md b/_organisations/sponsors/microsoft-2.md new file mode 100644 index 0000000..a04d020 --- /dev/null +++ b/_organisations/sponsors/microsoft-2.md @@ -0,0 +1,12 @@ +--- +gid: microsoft-2 +title: Microsoft +name: Microsoft +website_url: 'https://www.microsoft.com/en-au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/microsoft.png' +sponsor_level: National Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/microsoft.md b/_organisations/sponsors/microsoft.md new file mode 100644 index 0000000..d799042 --- /dev/null +++ b/_organisations/sponsors/microsoft.md @@ -0,0 +1,12 @@ +--- +gid: microsoft +title: Microsoft +name: Microsoft +website_url: 'https://www.microsoft.com/en-au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/microsoft.png' +sponsor_level: Premier Sponsor +sponsor_level_id: premier +sponsor_level_desc: Premier Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/mid-west-development-commission.md b/_organisations/sponsors/mid-west-development-commission.md new file mode 100644 index 0000000..9a22345 --- /dev/null +++ b/_organisations/sponsors/mid-west-development-commission.md @@ -0,0 +1,15 @@ +--- +gid: mid-west-development-commission +title: Mid West Development Commission +name: Mid West Development Commission +type: government +website_url: 'http://www.mwdc.wa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/midwest_development_commission.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: wa +events: + - geraldton +is_sponsor: true +--- diff --git a/_organisations/sponsors/motor-accident-commission.md b/_organisations/sponsors/motor-accident-commission.md new file mode 100644 index 0000000..f531141 --- /dev/null +++ b/_organisations/sponsors/motor-accident-commission.md @@ -0,0 +1,12 @@ +--- +gid: motor-accident-commission +title: Motor Accident Commission +name: Motor Accident Commission +website_url: 'http://www.mac.sa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/motor_accident_commission.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/nacc.md b/_organisations/sponsors/nacc.md new file mode 100644 index 0000000..a5237a3 --- /dev/null +++ b/_organisations/sponsors/nacc.md @@ -0,0 +1,14 @@ +--- +gid: nacc +title: NACC +name: NACC +type: government +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/nacc.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: wa +events: + - geraldton +is_sponsor: true +--- diff --git a/_organisations/sponsors/ncris-research-data-and-infrastructure-group.md b/_organisations/sponsors/ncris-research-data-and-infrastructure-group.md new file mode 100644 index 0000000..9f4e5ff --- /dev/null +++ b/_organisations/sponsors/ncris-research-data-and-infrastructure-group.md @@ -0,0 +1,11 @@ +--- +gid: ncris-research-data-and-infrastructure-group +title: NCRIS Research Data and Infrastructure Group +name: NCRIS Research Data and Infrastructure Group +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/tern_group.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/netapp.md b/_organisations/sponsors/netapp.md new file mode 100644 index 0000000..dbc0d85 --- /dev/null +++ b/_organisations/sponsors/netapp.md @@ -0,0 +1,12 @@ +--- +gid: netapp +title: Netapp +name: Netapp +website_url: 'http://www.netapp.com/au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/netapp.png' +sponsor_level: Premier Sponsor +sponsor_level_id: premier +sponsor_level_desc: Premier Sponsors +jurisdiction: nsw +is_sponsor: true +--- diff --git a/_organisations/sponsors/newscorp-sa.md b/_organisations/sponsors/newscorp-sa.md new file mode 100644 index 0000000..3be7ed3 --- /dev/null +++ b/_organisations/sponsors/newscorp-sa.md @@ -0,0 +1,12 @@ +--- +gid: newscorp-sa +title: Newscorp +name: Newscorp +website_url: 'http://www.newscorpaustralia.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/newscorp-vic.md b/_organisations/sponsors/newscorp-vic.md new file mode 100644 index 0000000..ce5c83a --- /dev/null +++ b/_organisations/sponsors/newscorp-vic.md @@ -0,0 +1,12 @@ +--- +gid: newscorp-vic +title: Newscorp +name: Newscorp +website_url: 'http://www.newscorpaustralia.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: vic +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/newscorp-wa.md b/_organisations/sponsors/newscorp-wa.md new file mode 100644 index 0000000..fbc378b --- /dev/null +++ b/_organisations/sponsors/newscorp-wa.md @@ -0,0 +1,12 @@ +--- +gid: newscorp-wa +title: Newscorp +name: Newscorp +website_url: 'http://www.newscorpaustralia.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/nicta.md b/_organisations/sponsors/nicta.md new file mode 100644 index 0000000..800c916 --- /dev/null +++ b/_organisations/sponsors/nicta.md @@ -0,0 +1,12 @@ +--- +gid: nicta +title: (Formerly known as NICTA) +name: (Formerly known as NICTA) +website_url: 'http://egovcluster.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/egov_cluster.png' +sponsor_level: Foundation Sponsor +sponsor_level_id: foundation +sponsor_level_desc: Foundation Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/noosa-council.md b/_organisations/sponsors/noosa-council.md new file mode 100644 index 0000000..f348a18 --- /dev/null +++ b/_organisations/sponsors/noosa-council.md @@ -0,0 +1,15 @@ +--- +gid: noosa-council +title: Noosa Council +name: Noosa Council +type: government +website_url: 'http://www.noosa.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/noosa_council.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: qld +events: + - sunshine-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/nsw-government.md b/_organisations/sponsors/nsw-government.md new file mode 100644 index 0000000..e0b95e9 --- /dev/null +++ b/_organisations/sponsors/nsw-government.md @@ -0,0 +1,12 @@ +--- +gid: nsw-government +title: NSW Government +name: NSW Government +website_url: 'https://www.nsw.gov.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/nsw_govt.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: nsw +is_sponsor: true +--- diff --git a/_organisations/sponsors/oakton-digital.md b/_organisations/sponsors/oakton-digital.md new file mode 100644 index 0000000..d161c86 --- /dev/null +++ b/_organisations/sponsors/oakton-digital.md @@ -0,0 +1,13 @@ +--- +gid: oakton-digital +title: Oakton Digital +name: Oakton Digital +type: corporate +website_url: 'http://www.oakton.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/oakton_digital.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: act +is_sponsor: true +--- diff --git a/_organisations/sponsors/open-data-institute-queensland.md b/_organisations/sponsors/open-data-institute-queensland.md new file mode 100644 index 0000000..eeac3cb --- /dev/null +++ b/_organisations/sponsors/open-data-institute-queensland.md @@ -0,0 +1,12 @@ +--- +gid: open-data-institute-queensland +title: Open Data Institute Queensland +name: Open Data Institute Queensland +website_url: 'http://queensland.theodi.org' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/open_data_institute_queensland.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/open-local.md b/_organisations/sponsors/open-local.md new file mode 100644 index 0000000..b6cb83e --- /dev/null +++ b/_organisations/sponsors/open-local.md @@ -0,0 +1,15 @@ +--- +gid: open-local +title: Open Local +name: Open Local +type: community +website_url: 'http://www.openlocal.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/open_local.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: nsw +events: + - parramatta +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/parramatta-city-council.md b/_organisations/sponsors/parramatta-city-council.md new file mode 100644 index 0000000..719d14a --- /dev/null +++ b/_organisations/sponsors/parramatta-city-council.md @@ -0,0 +1,12 @@ +--- +gid: parramatta-city-council +title: Parramatta City Council +name: Parramatta City Council +website_url: 'http://www.parracity.nsw.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/parramatta_city_council.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: nsw +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/pawsey-supercomputing-centre.md b/_organisations/sponsors/pawsey-supercomputing-centre.md new file mode 100644 index 0000000..f04ce1b --- /dev/null +++ b/_organisations/sponsors/pawsey-supercomputing-centre.md @@ -0,0 +1,12 @@ +--- +gid: pawsey-supercomputing-centre +title: Pawsey Supercomputing Centre +name: Pawsey Supercomputing Centre +website_url: 'https://www.pawsey.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/pawsey_supercomputing_centre.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/podpac-pty-ltd.md b/_organisations/sponsors/podpac-pty-ltd.md new file mode 100644 index 0000000..34a85dd --- /dev/null +++ b/_organisations/sponsors/podpac-pty-ltd.md @@ -0,0 +1,15 @@ +--- +gid: podpac-pty-ltd +title: Podpac Pty Ltd +name: Podpac Pty Ltd +type: corporate +website_url: 'https://podista.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/podista.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/psma.md b/_organisations/sponsors/psma.md new file mode 100644 index 0000000..7128154 --- /dev/null +++ b/_organisations/sponsors/psma.md @@ -0,0 +1,12 @@ +--- +gid: psma +title: PSMA +name: PSMA +website_url: 'https://www.psma.com.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/psma.png' +sponsor_level: National Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/queensland-government-2.md b/_organisations/sponsors/queensland-government-2.md new file mode 100644 index 0000000..e9999a8 --- /dev/null +++ b/_organisations/sponsors/queensland-government-2.md @@ -0,0 +1,16 @@ +--- +gid: queensland-government-2 +title: Queensland Government +name: Queensland Government +website_url: 'https://www.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/queensland_government_colour.png' +sponsor_level: Government Agency Supporter +sponsor_level_id: govt-agency-supporter +sponsor_level_desc: National Government Agency Supporters +jurisdiction: australia +is_sponsor: true +--- + +[Advance Queensland](https://www.youtube.com/channel/UCkx_i9gowesXMvxgUmXtXRw) + + \ No newline at end of file diff --git a/_organisations/sponsors/queensland-government.md b/_organisations/sponsors/queensland-government.md new file mode 100644 index 0000000..fa03113 --- /dev/null +++ b/_organisations/sponsors/queensland-government.md @@ -0,0 +1,16 @@ +--- +gid: queensland-government +title: Queensland Government +name: Queensland Government +website_url: 'https://www.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/queensland_government.png' +sponsor_level: State Awards Naming Rights Sponsor +sponsor_level_id: naming-rights +sponsor_level_desc: State Awards Naming Rights Sponsors +jurisdiction: qld +is_sponsor: true +--- + +[Advance Queensland](https://www.youtube.com/channel/UCkx_i9gowesXMvxgUmXtXRw) + + \ No newline at end of file diff --git a/_organisations/sponsors/queensland-university-of-technology.md b/_organisations/sponsors/queensland-university-of-technology.md new file mode 100644 index 0000000..0149256 --- /dev/null +++ b/_organisations/sponsors/queensland-university-of-technology.md @@ -0,0 +1,12 @@ +--- +gid: queensland-university-of-technology +title: Queensland University of Technology +name: Queensland University of Technology +website_url: 'https://www.qut.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/qut.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/regional-development-australia-sunshine-coast.md b/_organisations/sponsors/regional-development-australia-sunshine-coast.md new file mode 100644 index 0000000..970b33e --- /dev/null +++ b/_organisations/sponsors/regional-development-australia-sunshine-coast.md @@ -0,0 +1,14 @@ +--- +gid: regional-development-australia-sunshine-coast +title: Regional Development Australia Sunshine Coast +name: Regional Development Australia Sunshine Coast +type: government +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/regional-development-australia-sunshine-coast.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: qld +events: + - sunshine-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/resource-furniture.md b/_organisations/sponsors/resource-furniture.md new file mode 100644 index 0000000..0b07201 --- /dev/null +++ b/_organisations/sponsors/resource-furniture.md @@ -0,0 +1,15 @@ +--- +gid: resource-furniture +title: Resource Furniture +name: Resource Furniture +type: corporate +website_url: 'http://www.resourcefurniture.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/resource_furniture.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - onkaparinga +is_sponsor: true +--- diff --git a/_organisations/sponsors/river-city-labs-2.md b/_organisations/sponsors/river-city-labs-2.md new file mode 100644 index 0000000..0f9ff5f --- /dev/null +++ b/_organisations/sponsors/river-city-labs-2.md @@ -0,0 +1,12 @@ +--- +gid: river-city-labs-2 +title: River City Labs +name: River City Labs +website_url: 'http://www.rivercitylabs.net' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/river_city_labs.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/river-city-labs.md b/_organisations/sponsors/river-city-labs.md new file mode 100644 index 0000000..103c7eb --- /dev/null +++ b/_organisations/sponsors/river-city-labs.md @@ -0,0 +1,15 @@ +--- +gid: river-city-labs +title: River City Labs +name: River City Labs +type: community +website_url: 'http://www.rivercitylabs.net' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/river_city_labs.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- diff --git a/_organisations/sponsors/rockhampton-regional-council.md b/_organisations/sponsors/rockhampton-regional-council.md new file mode 100644 index 0000000..964fcde --- /dev/null +++ b/_organisations/sponsors/rockhampton-regional-council.md @@ -0,0 +1,15 @@ +--- +gid: rockhampton-regional-council +title: Rockhampton Regional Council +name: Rockhampton Regional Council +type: government +website_url: 'http://www.rockhamptonregion.qld.gov.au/Home' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/rockhampton_regional_council.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - rockhampton-maker +is_sponsor: true +--- diff --git a/_organisations/sponsors/sa-department-for-education-and-child-development.md b/_organisations/sponsors/sa-department-for-education-and-child-development.md new file mode 100644 index 0000000..52e6673 --- /dev/null +++ b/_organisations/sponsors/sa-department-for-education-and-child-development.md @@ -0,0 +1,12 @@ +--- +gid: sa-department-for-education-and-child-development +title: SA Department for Education and Child Development +name: SA Department for Education and Child Development +website_url: 'https://www.decd.sa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sa_department_for_education_and_child_development.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/sa-department-of-the-premier-and-cabinet.md b/_organisations/sponsors/sa-department-of-the-premier-and-cabinet.md new file mode 100644 index 0000000..d7126fd --- /dev/null +++ b/_organisations/sponsors/sa-department-of-the-premier-and-cabinet.md @@ -0,0 +1,12 @@ +--- +gid: sa-department-of-the-premier-and-cabinet +title: SA Department of the Premier and Cabinet +name: SA Department of the Premier and Cabinet +website_url: 'http://www.dpc.sa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sa_dept_of_the_premier_and_cabinet.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: sa +is_sponsor: true +--- diff --git a/_organisations/sponsors/sa-government-open-state.md b/_organisations/sponsors/sa-government-open-state.md new file mode 100644 index 0000000..b0ab1da --- /dev/null +++ b/_organisations/sponsors/sa-government-open-state.md @@ -0,0 +1,12 @@ +--- +gid: sa-government-open-state +title: SA Government Open State +name: SA Government Open State +website_url: 'https://openstate.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sa_govt_open_state.png' +sponsor_level: Red Carpet Awards Sponsor +sponsor_level_id: red-carpet-awards +sponsor_level_desc: Red Carpet Awards Sponsor +jurisdiction: australia +is_sponsor: true +--- diff --git a/_organisations/sponsors/salsa-digital.md b/_organisations/sponsors/salsa-digital.md new file mode 100644 index 0000000..b8e9fe5 --- /dev/null +++ b/_organisations/sponsors/salsa-digital.md @@ -0,0 +1,12 @@ +--- +gid: salsa-digital +title: Salsa Digital +name: Salsa Digital +website_url: 'http://www.salsadigital.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/05/salsa_digital.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: vic +is_sponsor: true +--- diff --git a/_organisations/sponsors/seaford-secondary-college.md b/_organisations/sponsors/seaford-secondary-college.md new file mode 100644 index 0000000..a4f9234 --- /dev/null +++ b/_organisations/sponsors/seaford-secondary-college.md @@ -0,0 +1,15 @@ +--- +gid: seaford-secondary-college +title: Seaford Secondary College +name: Seaford Secondary College +type: community +website_url: 'http://www.seafordhs.sa.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/seaford_secondary_college.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - onkaparinga +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/sense-t.md b/_organisations/sponsors/sense-t.md new file mode 100644 index 0000000..10c0895 --- /dev/null +++ b/_organisations/sponsors/sense-t.md @@ -0,0 +1,13 @@ +--- +gid: sense-t +title: sense-t +name: sense-t +type: corporate +website_url: 'http://www.sense-t.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sense_t.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/state-library-of-western-australia.md b/_organisations/sponsors/state-library-of-western-australia.md new file mode 100644 index 0000000..da6bb71 --- /dev/null +++ b/_organisations/sponsors/state-library-of-western-australia.md @@ -0,0 +1,12 @@ +--- +gid: state-library-of-western-australia +title: State Library of Western Australia +name: State Library of Western Australia +website_url: 'http://slwa.wa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/state_library_wa.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/stone-chalk.md b/_organisations/sponsors/stone-chalk.md new file mode 100644 index 0000000..65d978b --- /dev/null +++ b/_organisations/sponsors/stone-chalk.md @@ -0,0 +1,12 @@ +--- +gid: stone-chalk +title: Stone & Chalk +name: Stone & Chalk +website_url: 'http://stoneandchalk.com.au/' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/stonechalk.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: nsw +is_sponsor: true +--- diff --git a/_organisations/sponsors/stretton-centre.md b/_organisations/sponsors/stretton-centre.md new file mode 100644 index 0000000..82057a7 --- /dev/null +++ b/_organisations/sponsors/stretton-centre.md @@ -0,0 +1,15 @@ +--- +gid: stretton-centre +title: Stretton Centre +name: Stretton Centre +type: community +website_url: 'http://strettoncentre.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/stretton_centre.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - playford +is_sponsor: true +--- diff --git a/_organisations/sponsors/sunshine-coast-council.md b/_organisations/sponsors/sunshine-coast-council.md new file mode 100644 index 0000000..5a3301c --- /dev/null +++ b/_organisations/sponsors/sunshine-coast-council.md @@ -0,0 +1,15 @@ +--- +gid: sunshine-coast-council +title: Sunshine Coast Council +name: Sunshine Coast Council +type: government +website_url: 'http://invest.sunshinecoast.qld.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/sunshine_coast_council.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: qld +events: + - sunshine-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/surveying-and-spatial-sciences-institute.md b/_organisations/sponsors/surveying-and-spatial-sciences-institute.md new file mode 100644 index 0000000..f85b71e --- /dev/null +++ b/_organisations/sponsors/surveying-and-spatial-sciences-institute.md @@ -0,0 +1,12 @@ +--- +gid: surveying-and-spatial-sciences-institute +title: Surveying and Spatial Sciences Institute +name: Surveying and Spatial Sciences Institute +website_url: 'http://sssi.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/surveying_and_spatial_sciences_institute.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/tasict.md b/_organisations/sponsors/tasict.md new file mode 100644 index 0000000..5c13862 --- /dev/null +++ b/_organisations/sponsors/tasict.md @@ -0,0 +1,12 @@ +--- +gid: tasict +title: TasICT +name: TasICT +website_url: 'http://www.tasict.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/tasict.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/tasmanet.md b/_organisations/sponsors/tasmanet.md new file mode 100644 index 0000000..6c98785 --- /dev/null +++ b/_organisations/sponsors/tasmanet.md @@ -0,0 +1,12 @@ +--- +gid: tasmanet +title: Tasmanet +name: Tasmanet +website_url: 'http://www.tasmanet.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/tasmanet.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/tasmanian-department-of-premier-and-cabinet.md b/_organisations/sponsors/tasmanian-department-of-premier-and-cabinet.md new file mode 100644 index 0000000..e1cacb9 --- /dev/null +++ b/_organisations/sponsors/tasmanian-department-of-premier-and-cabinet.md @@ -0,0 +1,12 @@ +--- +gid: tasmanian-department-of-premier-and-cabinet +title: Tasmanian Government +name: Tasmanian Government +website_url: 'http://www.dpac.tas.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/tas_govt.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/tatts-group.md b/_organisations/sponsors/tatts-group.md new file mode 100644 index 0000000..201ac28 --- /dev/null +++ b/_organisations/sponsors/tatts-group.md @@ -0,0 +1,12 @@ +--- +gid: tatts-group +title: Tatts Group +name: Tatts Group +website_url: 'http://www.tattsgroup.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/tatts_group.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/telstra-store-runaway-bay.md b/_organisations/sponsors/telstra-store-runaway-bay.md new file mode 100644 index 0000000..4252ea8 --- /dev/null +++ b/_organisations/sponsors/telstra-store-runaway-bay.md @@ -0,0 +1,15 @@ +--- +gid: telstra-store-runaway-bay +title: Telstra Store Runaway Bay +name: Telstra Store Runaway Bay +type: corporate +website_url: 'https://www.telstra.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/telstra_store_runaway_bay.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - gold-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/telstra-store-seaford.md b/_organisations/sponsors/telstra-store-seaford.md new file mode 100644 index 0000000..0105235 --- /dev/null +++ b/_organisations/sponsors/telstra-store-seaford.md @@ -0,0 +1,15 @@ +--- +gid: telstra-store-seaford +title: Telstra Store Seaford +name: Telstra Store Seaford +type: corporate +website_url: 'https://www.telstra.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/telstra_store_seaford.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: sa +events: + - onkaparinga +is_sponsor: true +--- diff --git a/_organisations/sponsors/telstra.md b/_organisations/sponsors/telstra.md new file mode 100644 index 0000000..616f6a4 --- /dev/null +++ b/_organisations/sponsors/telstra.md @@ -0,0 +1,15 @@ +--- +gid: telstra +title: Telstra +name: Telstra +type: corporate +website_url: 'https://www.telstra.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/telstra.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: vic +events: + - melbourne-open-raster +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/the-coffeehouse-restaurant-on-bolsover.md b/_organisations/sponsors/the-coffeehouse-restaurant-on-bolsover.md new file mode 100644 index 0000000..879e967 --- /dev/null +++ b/_organisations/sponsors/the-coffeehouse-restaurant-on-bolsover.md @@ -0,0 +1,15 @@ +--- +gid: the-coffeehouse-restaurant-on-bolsover +title: The Coffeehouse Restaurant on Bolsover +name: The Coffeehouse Restaurant on Bolsover +type: corporate +website_url: 'https://www.facebook.com/CHRonB' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/the_coffeehouse_restaurant_on_bolsover.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - rockhampton-maker +is_sponsor: true +--- diff --git a/_organisations/sponsors/the-edge-state-library-of-queensland.md b/_organisations/sponsors/the-edge-state-library-of-queensland.md new file mode 100644 index 0000000..6464c2e --- /dev/null +++ b/_organisations/sponsors/the-edge-state-library-of-queensland.md @@ -0,0 +1,12 @@ +--- +gid: the-edge-state-library-of-queensland +title: The Edge - State Library of Queensland +name: The Edge - State Library of Queensland +website_url: 'http://edgeqld.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/the_edge.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/thespace.md b/_organisations/sponsors/thespace.md new file mode 100644 index 0000000..fef1c96 --- /dev/null +++ b/_organisations/sponsors/thespace.md @@ -0,0 +1,11 @@ +--- +gid: thespace +title: theSpace +name: theSpace +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/thespace.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/thoughtworks.md b/_organisations/sponsors/thoughtworks.md new file mode 100644 index 0000000..faad198 --- /dev/null +++ b/_organisations/sponsors/thoughtworks.md @@ -0,0 +1,15 @@ +--- +gid: thoughtworks +title: Thoughtworks +name: Thoughtworks +type: corporate +website_url: 'https://www.thoughtworks.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/thoughtworks.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: vic +events: + - melbourne +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/transport-accident-commission.md b/_organisations/sponsors/transport-accident-commission.md new file mode 100644 index 0000000..f318854 --- /dev/null +++ b/_organisations/sponsors/transport-accident-commission.md @@ -0,0 +1,12 @@ +--- +gid: transport-accident-commission +title: Transport Accident Commission +name: Transport Accident Commission +website_url: 'https://www.tac.vic.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/06/transport_accident_commission.png' +sponsor_level: In Kind sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: vic +is_sponsor: true +--- diff --git a/_organisations/sponsors/uber.md b/_organisations/sponsors/uber.md new file mode 100644 index 0000000..92afb82 --- /dev/null +++ b/_organisations/sponsors/uber.md @@ -0,0 +1,15 @@ +--- +gid: uber +title: Uber +name: Uber +type: corporate +website_url: 'https://www.uber.com/?exp=hp-c' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/uber.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - gold-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/unitingcare-west.md b/_organisations/sponsors/unitingcare-west.md new file mode 100644 index 0000000..069e75a --- /dev/null +++ b/_organisations/sponsors/unitingcare-west.md @@ -0,0 +1,12 @@ +--- +gid: unitingcare-west +title: UnitingCare West +name: UnitingCare West +website_url: 'http://www.unitingcarewest.org.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/uniting_care_west.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- \ No newline at end of file diff --git a/_organisations/sponsors/unity-water.md b/_organisations/sponsors/unity-water.md new file mode 100644 index 0000000..d221ca8 --- /dev/null +++ b/_organisations/sponsors/unity-water.md @@ -0,0 +1,15 @@ +--- +gid: unity-water +title: Unity Water +name: Unity Water +type: corporate +website_url: 'http://unitywater.com' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/unity_water.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: qld +events: + - sunshine-coast +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-queensland-business-school.md b/_organisations/sponsors/university-of-queensland-business-school.md new file mode 100644 index 0000000..bcdf23b --- /dev/null +++ b/_organisations/sponsors/university-of-queensland-business-school.md @@ -0,0 +1,15 @@ +--- +gid: university-of-queensland-business-school +title: University of Queensland Business School +name: University of Queensland Business School +type: University +website_url: 'http://www.business.uq.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/uq_business_school.png' +sponsor_level: Silver Sponsor +sponsor_level_id: silver +sponsor_level_desc: Silver Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-queensland-itee.md b/_organisations/sponsors/university-of-queensland-itee.md new file mode 100644 index 0000000..2b8f0cf --- /dev/null +++ b/_organisations/sponsors/university-of-queensland-itee.md @@ -0,0 +1,15 @@ +--- +gid: university-of-queensland-itee +title: University of Queensland ITEE +name: University of Queensland ITEE +type: University +website_url: 'http://www.itee.uq.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/uq_shhool_of_information_technology_and_electrical_engineering.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Event Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-queensland-school-of-information-technology-and-electrical-engineering.md b/_organisations/sponsors/university-of-queensland-school-of-information-technology-and-electrical-engineering.md new file mode 100644 index 0000000..892e092 --- /dev/null +++ b/_organisations/sponsors/university-of-queensland-school-of-information-technology-and-electrical-engineering.md @@ -0,0 +1,15 @@ +--- +gid: university-of-queensland-school-of-information-technology-and-electrical-engineering +title: University of Queensland School of Information Technology and Electrical Engineering +name: University of Queensland School of Information Technology and Electrical Engineering +type: University +website_url: 'http://www.itee.uq.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/uq_shhool_of_information_technology_and_electrical_engineering.png' +sponsor_level: In Kind Sponsor +sponsor_level_id: in-kind +sponsor_level_desc: In-Kind Sponsors +jurisdiction: qld +events: + - brisbane +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-south-australia-innovation-and-collaboration-centre.md b/_organisations/sponsors/university-of-south-australia-innovation-and-collaboration-centre.md new file mode 100644 index 0000000..04b8c26 --- /dev/null +++ b/_organisations/sponsors/university-of-south-australia-innovation-and-collaboration-centre.md @@ -0,0 +1,14 @@ +--- +gid: university-of-south-australia-innovation-and-collaboration-centre +title: University of South Australia Innovation and Collaboration Centre +name: University of South Australia Innovation and Collaboration Centre +website_url: 'http://www.unisa.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/innovation_and_collaboration_centre.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-south-australia.md b/_organisations/sponsors/university-of-south-australia.md new file mode 100644 index 0000000..0d74f32 --- /dev/null +++ b/_organisations/sponsors/university-of-south-australia.md @@ -0,0 +1,15 @@ +--- +gid: university-of-south-australia +title: University of South Australia +name: University of South Australia +type: corporate +website_url: 'https://www.unisa.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/university_of_south_australia.png' +sponsor_level: Platinum Sponsor +sponsor_level_id: platinum +sponsor_level_desc: Platinum Sponsors +jurisdiction: sa +events: + - adelaide +is_sponsor: true +--- diff --git a/_organisations/sponsors/university-of-the-sunshine-coast.md b/_organisations/sponsors/university-of-the-sunshine-coast.md new file mode 100644 index 0000000..514e5b7 --- /dev/null +++ b/_organisations/sponsors/university-of-the-sunshine-coast.md @@ -0,0 +1,12 @@ +--- +gid: university-of-the-sunshine-coast +title: University of the Sunshine Coast +name: University of the Sunshine Coast +website_url: 'http://www.usc.edu.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/university_of_the_sunshine_coast.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/sponsors/victoria-state-government.md b/_organisations/sponsors/victoria-state-government.md new file mode 100644 index 0000000..d3560c0 --- /dev/null +++ b/_organisations/sponsors/victoria-state-government.md @@ -0,0 +1,12 @@ +--- +gid: victoria-state-government +title: Victoria State Government +name: Victoria State Government +website_url: 'https://www.data.vic.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/victoria_state_government.png' +sponsor_level: State Awards Naming Rights Sponsor +sponsor_level_id: naming-rights +sponsor_level_desc: State Awards Naming Rights Sponsors +jurisdiction: vic +is_sponsor: true +--- diff --git a/_organisations/sponsors/wa-department-of-fisheries.md b/_organisations/sponsors/wa-department-of-fisheries.md new file mode 100644 index 0000000..8f2141f --- /dev/null +++ b/_organisations/sponsors/wa-department-of-fisheries.md @@ -0,0 +1,12 @@ +--- +gid: wa-department-of-fisheries +title: WA Department of Fisheries +name: WA Department of Fisheries +website_url: 'http://www.fish.wa.gov.au/Pages/Home.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wa_dept_of_fisheries.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/wa-department-of-local-government-and-communities.md b/_organisations/sponsors/wa-department-of-local-government-and-communities.md new file mode 100644 index 0000000..6690727 --- /dev/null +++ b/_organisations/sponsors/wa-department-of-local-government-and-communities.md @@ -0,0 +1,12 @@ +--- +gid: wa-department-of-local-government-and-communities +title: WA Department of Local Government and Communities +name: WA Department of Local Government and Communities +website_url: 'https://www.dlgc.wa.gov.au/Pages/default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wa_department_of_local_government_and_communities.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/wa-department-of-the-premier-and-cabinet.md b/_organisations/sponsors/wa-department-of-the-premier-and-cabinet.md new file mode 100644 index 0000000..475c9ff --- /dev/null +++ b/_organisations/sponsors/wa-department-of-the-premier-and-cabinet.md @@ -0,0 +1,12 @@ +--- +gid: wa-department-of-the-premier-and-cabinet +title: WA Department of the Premier and Cabinet Office of Science +name: WA Department of the Premier and Cabinet Office of Science +website_url: 'https://www.dpc.wa.gov.au/Pages/Default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wa_office_of_science.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/wa-housing-authority.md b/_organisations/sponsors/wa-housing-authority.md new file mode 100644 index 0000000..944bdbc --- /dev/null +++ b/_organisations/sponsors/wa-housing-authority.md @@ -0,0 +1,12 @@ +--- +gid: wa-housing-authority +title: WA Housing Authority +name: WA Housing Authority +website_url: 'http://www.housing.wa.gov.au/Pages/default.aspx' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wa_housing_authority_colour.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/wa-office-of-the-government-chief-information-officer.md b/_organisations/sponsors/wa-office-of-the-government-chief-information-officer.md new file mode 100644 index 0000000..1809303 --- /dev/null +++ b/_organisations/sponsors/wa-office-of-the-government-chief-information-officer.md @@ -0,0 +1,12 @@ +--- +gid: wa-office-of-the-government-chief-information-officer +title: WA Office of the Government Chief Information Officer +name: WA Office of the Government Chief Information Officer +website_url: 'http://gcio.wa.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wa_office_of_the_government_chief_information_officer.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/walker-designs.md b/_organisations/sponsors/walker-designs.md new file mode 100644 index 0000000..03d1132 --- /dev/null +++ b/_organisations/sponsors/walker-designs.md @@ -0,0 +1,13 @@ +--- +gid: walker-designs +title: Walker Designs +name: Walker Designs +type: corporate +website_url: 'https://walkerdesigns.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/walker_designs.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: tas +is_sponsor: true +--- diff --git a/_organisations/sponsors/water-corporation.md b/_organisations/sponsors/water-corporation.md new file mode 100644 index 0000000..e9d01b4 --- /dev/null +++ b/_organisations/sponsors/water-corporation.md @@ -0,0 +1,12 @@ +--- +gid: water-corporation +title: Water Corporation of WA +name: Water Corporation of WA +website_url: 'http://www.watercorporation.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/water_corporation.png' +sponsor_level: Gold Sponsor +sponsor_level_id: gold +sponsor_level_desc: Gold Sponsors +jurisdiction: wa +is_sponsor: true +--- diff --git a/_organisations/sponsors/wyndham-city-council.md b/_organisations/sponsors/wyndham-city-council.md new file mode 100644 index 0000000..1740298 --- /dev/null +++ b/_organisations/sponsors/wyndham-city-council.md @@ -0,0 +1,16 @@ +--- +gid: wyndham-city-council +title: Wyndham City Council +name: Wyndham City Council +type: government +jurisdiction: vic +website_url: 'https://www.wyndham.vic.gov.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/wyndham_city_council.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: vic +events: + - wyndham +is_sponsor: true +--- diff --git a/_organisations/sponsors/xvt-solutions.md b/_organisations/sponsors/xvt-solutions.md new file mode 100644 index 0000000..71dfc57 --- /dev/null +++ b/_organisations/sponsors/xvt-solutions.md @@ -0,0 +1,12 @@ +--- +gid: xvt-solutions +title: XVT Solutions +name: XVT Solutions +website_url: 'https://www.xvt.com.au' +logo_url: 'https://www.govhack.org/wp-content/uploads/2016/07/xvt__solutions.png' +sponsor_level: Bronze Sponsor +sponsor_level_id: bronze +sponsor_level_desc: Bronze Sponsors +jurisdiction: qld +is_sponsor: true +--- diff --git a/_organisations/supporters/deloitte.md b/_organisations/supporters/deloitte.md new file mode 100644 index 0000000..b699cdc --- /dev/null +++ b/_organisations/supporters/deloitte.md @@ -0,0 +1,11 @@ +--- +name: Deloitte +gid: deloitte +type: Corporate +is_sponsor: false +website_url: http://www2.deloitte.com/au/en.html +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: australia +--- + +“Deloitte” is the brand under which tens of thousands of dedicated professionals in independent firms throughout the world collaborate to provide audit, consulting,financial advisory, risk management, tax and related services to select clients. \ No newline at end of file diff --git a/_organisations/supporters/department-of-social-services.md b/_organisations/supporters/department-of-social-services.md new file mode 100644 index 0000000..88d9433 --- /dev/null +++ b/_organisations/supporters/department-of-social-services.md @@ -0,0 +1,10 @@ +--- +name: Department of Social Services +gid: department-of-social-services +type: Government +is_sponsor: false +website_url: https://www.dss.gov.au/ +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: australia +--- + diff --git a/_organisations/supporters/fed_dept_environment.md b/_organisations/supporters/fed_dept_environment.md new file mode 100644 index 0000000..67cc025 --- /dev/null +++ b/_organisations/supporters/fed_dept_environment.md @@ -0,0 +1,11 @@ +--- +name: Department of the Environment +gid: fed_dept_environment +type: Government +is_sponsor: false +website_url: http://www.environment.gov.au +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: australia +--- + +The Department of the Environment designs and implements the Australian Government’s policies and programmes to protect and conserve the environment, water and heritage and promote climate action. The environmental framework is being delivered under four pillars: clean air, clean land, clean water, and national heritage. \ No newline at end of file diff --git a/_organisations/supporters/national-portrait-gallery.md b/_organisations/supporters/national-portrait-gallery.md new file mode 100644 index 0000000..6d027d8 --- /dev/null +++ b/_organisations/supporters/national-portrait-gallery.md @@ -0,0 +1,10 @@ +--- +name: National Portrait Gallery +gid: national-portrait-gallery +type: Government +is_sponsor: false +website_url: http://www.portrait.gov.au/ +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: australia +--- + diff --git a/_organisations/supporters/qld_dept_science_ict_inno.md b/_organisations/supporters/qld_dept_science_ict_inno.md new file mode 100644 index 0000000..03cb19f --- /dev/null +++ b/_organisations/supporters/qld_dept_science_ict_inno.md @@ -0,0 +1,11 @@ +--- +name: Queensland Department of Science, Information Technology and Innovation +gid: qld_dept_science_ict_inno +type: Government +is_sponsor: false +website_url: https://www.qld.gov.au/dsiti +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: qld +--- + +The Department works closely with all Queensland government agencies to drive the government’s priorities in research, science, innovation, technology, intellectual property, service delivery. \ No newline at end of file diff --git a/_organisations/supporters/wa-department-of-treasury.md b/_organisations/supporters/wa-department-of-treasury.md new file mode 100644 index 0000000..7f9945d --- /dev/null +++ b/_organisations/supporters/wa-department-of-treasury.md @@ -0,0 +1,10 @@ +--- +name: Department of Treasury +gid: wa-department-of-treasury +type: Government +is_sponsor: false +website_url: http://www.treasury.wa.gov.au/ +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: wa +--- + diff --git a/_organisations/supporters/wa_dept_health.md b/_organisations/supporters/wa_dept_health.md new file mode 100644 index 0000000..b5c4e07 --- /dev/null +++ b/_organisations/supporters/wa_dept_health.md @@ -0,0 +1,13 @@ +--- +name: Western Australian Department of Health +gid: wa_dept_health +type: Government +is_sponsor: false +website_url: http://ww2.health.wa.gov.au +#logo_url: /resources/images/organisations/supporters/wa_dept_health.gif +jurisdiction: wa +--- + +WA Health is Western Australia’s public health system. With a State spanning over 2.5 million square kilometres, it is the largest area in the world covered by a single health authority. We employ 43,000 dedicated staff in metropolitan, regional and remote areas of the State to attend to the health needs of our growing population. + +In the 2014-15 financial year, we received more than 1,000,000 visits to our emergency departments, performed over 81,000 elective surgeries, conducted 157,000 school dental examinations and delivered services to almost 35,000 new arrivals and their proud parents. We deliver more than hospitals and health services. Our public health programs ensure that Western Australians enjoy a standard of health that is among the highest in the world. \ No newline at end of file diff --git a/_posts/2015-05-03-auscope-portal.md b/_posts/2015-05-03-auscope-portal.md deleted file mode 100644 index b371c00..0000000 --- a/_posts/2015-05-03-auscope-portal.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: post -tags: datasets portals -title: AuScope Portal ---- - -The AuScope portal contains a variety of Australia-wide geospatial and geoscientific datasets from the CSIRO, Geoscience Australia, the state Geological Surveys and several Australian universities. - -[![AuScope portal homepage]({{ site.url }}/resources/auscope-portal.png)](http://portal.auscope.org/ "AuScope portal") - -Some of the cooler datasets include: - -- **National gravity and magnetic anomalies** - mineral exploration companies use these to locate deposits, but they also give you information about the local structure of the earth's crust. -- **Mineral and Mine Occurence data** - gives the locations of known mineral occurences, and active and inactive mine sites. This might be useful -- **ASTER spectral data products** - give you a range of mineral occurences at a 30 m pixel resolution for the entire continent of Australia, so you can see what dirt your house is sitting on. -- **National Virtual Core Library** - contains a range of spectral and image data for a large fraction of the geological cores held by Geoscience Australia and the State Surveys. Similar to the ASTER dataset, the spectral data tells you about what minerals are present in the core (with a pretty high resolution on the tens of centimetre scale), while the imagery is available both in high resolution core segments and also as entire core tray mosaics which might be interesting for image analysis. - -You can turn on layers on the left hand side of the portal, and select portions of the datasets for download in various formats. As well as downloading data from the portal directly, most of the datasets are sitting behind Open Geospatial Consortium-compliant services (Web Feature Services and Web Coverage Services). This means you can pull them into anything that knows how to talk to these endpoints (hello [QGIS](http://www.qgis.org/en/site/), commercial offerings should work as well). - -The exceptions are the mineral occurence and National Virtual Core Library (NVCL) data, which have their own special APIs. A how-to for the [mine location/mineral occurrence data is here](https://twiki.auscope.org/wiki/CoreLibrary/ERMLGovHackOerview) and there's one [here for the NVCL borehole APIs](https://twiki.auscope.org/wiki/CoreLibrary/NVCLGovHackOverview). diff --git a/_posts/2015-05-04-niwa.md b/_posts/2015-05-04-niwa.md deleted file mode 100644 index 26d82d5..0000000 --- a/_posts/2015-05-04-niwa.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -layout: post -tags: nz datasets -title: National Instutite of Water and Atmospheric Research ---- - -NIWA, Taihoro Nukurangi, is NZ's Crown Research Institute covering water and atmospheric research, conducting research in aquaculture, atmosphere, climate, coasts and oceans, fisheries, natural hazards. They also run NZ's active oceanographic research vessels. - -There's an abolute ton of [online services](https://www.niwa.co.nz/our-services/online-services) providing real-time or near real-time data from coastal webcams through to forecasts, climate maps, satellite data services, tide forecasts, UV and Ozone maps, historic weather events. - -[![NIWA data portal]({{ site.url }}/resources/niwa-data.png)](https://www.niwa.co.nz/our-services "NIWA data") - -Other interesting datasets and projects include: - -- [**Cam-ERA**](https://www.niwa.co.nz/our-services/online-services/cam-era) - a network of computer-controlled cameras that monitor the New Zealand environment for research and resource management. These are also useful for surfers and swimmers. - -- [**NZ Freshwater Fish Database**](https://nzffdms.niwa.co.nz/search) - contains over 34,000 freshwater fish observations. Data stored include the location of sample sites, the fish species present, as well as information on their abundance, size, sampling methods and a physical description of each site.In recent years, data from the River Environment Classification (REC) has also been linked to the NZFFD, adding further environmental information to each NZFFD record. - -- [**NIWA Invertebrate Collection**](http://nitc.niwa.co.nz/) - olds specimens from almost all invertebrate phyla. This is a result of about half a century of marine taxonomic and biodiversity research in the New Zealand region, the South West Pacific and the Ross Sea, Antarctica. - -- [**NIWA Seasonal Climate Outlook data**](https://www.niwa.co.nz/climate/sco) - Air temperature, rainfall, soil moisture and river flow predictions for the coming season. - -- [**Te Kūwaha - Māori Environmental Research**](https://www.niwa.co.nz/te-k%C5%ABwaha) - sharing knowledge with Māori communities and empowering Māori business with the latest science. Te Kūwaha undertake research and provide consultancy services across a number of core science areas including Aquaculture, Freshwater, Marine, Natural Hazards, Climate, and Energy. \ No newline at end of file diff --git a/_posts/2015-05-07-gns.md b/_posts/2015-05-07-gns.md deleted file mode 100644 index b66e51a..0000000 --- a/_posts/2015-05-07-gns.md +++ /dev/null @@ -1,21 +0,0 @@ ---- -layout: post -tags: nz datasets -title: GNS Science data ---- - -GNS Science, Te Pü Ao, is New Zealand’s leading provider of Earth, geoscience and isotope research and consultancy services. Their purpose is to understand natural Earth system processes and resources, and to translate these into economic, environmental and social benefits. - -You can see a list of their [databases here](http://www.gns.cri.nz/Home/Products/Databases). - -[![GNS data portal]({{ site.url }}/resources/gns-data.png)](http://www.gns.cri.nz/Home/Products/Databases "GNS data") - -Some of the cool datasets on offer include: - -- [**GNS Web Map service**](http://maps.gns.cri.nz) - contains geomorphology maps, fossil locations, the geological map of New Zealand, data from the NZ gravity station network, the Active Faults database, petroleum data and PETLAB, a database of rock samples from across NZ's universities and GNS Science. - -- [**The NZ Tsunami Database**](http://data.gns.cri.nz/tsunami/index.html) - contains information about tsunamis that have reached the coastline of New Zealand since humans arrived in this land until the present day. The database is the work of historical seismologist Gaye Downes of GNS Science who collected reports of tsunamis around New Zealand and, in many cases, carried out research to determine parameters of the source, travel time and impact associated with each event. Reports of tsunamis that make up the core of this database come from tide gauges, newspaper articles, harbour masters, records from ships, personal diary entries and Māori oral records. - -- [**New Zealand Active Faults Database**](http://data.gns.cri.nz/af/) - holds all data collected from investigations of active faults in NZ. Along with the locations of active faults, the Active Faults Database contains the results from field measurements of offset features, trenching, and dating. It also stores interpretation of these results in the form of the average fault recurrence interval, slip rate, and date of last movement. This detailed information, which is collected at many points along a fault, has been summarised and presented here for each fault. - -- [**Mineral Resources of New Zealand**](www.gns.cri.nz/Home/Products/Databases/Mineral-Resources-of-New-Zealand) - consistes of three databases: an inventory of more than 10,000 sites for mineral, rock aggregate, building stone, coal, oil, gas, thermal water, and cold-water spring occurrences, with information on their location, geology, geochemistry, exploration, production and use; a compilation of Regional stream-sediment geochemical analyses from open-file mining company reports, with more than 6000 sites and 30,000 elemental analyses; and a compilation of drillhole data from Coal operations and exploration. Also includes more than 2000 open-file mineral exploration reports submitted under the Mining Act 1971. \ No newline at end of file diff --git a/_posts/2015-05-07-minecraft.md b/_posts/2015-05-07-minecraft.md deleted file mode 100644 index 299dda6..0000000 --- a/_posts/2015-05-07-minecraft.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -layout: post -tags: ideas -title: An interactive geological map in Minecraft for Raspberry Pi -photo_url: http://www.scienceimage.csiro.au/images/cache/detail/976_0_BU5630.jpg ---- - -Produce a map generator which uses geological data from Geoscience Australia's Geological Maps and topography webservices to generate playable Minecraft maps with real geology. - -[![A mining truck](http://www.scienceimage.csiro.au/images/cache/detail/976_0_BU5630.jpg)](http://www.scienceimage.csiro.au/image/5285/a-120-ton-ore-truck-at-the-new-celebration-gold-mine//large) - -[Here's a similar idea](http://www.bgs.ac.uk/discoveringGeology/geologyOfBritain/minecraft/home.html) produced by the British Geological Survey for the UK. - -**Datasets & resources**: - -- **Geological maps & topography** - these are provided for the entire Australian continent via Open Geospatial Consortium Web Feature Services from Geoscience Australia (for example, here's [the endpoint for WA's geology](http://www.ga.gov.au/geows/geologicunits/oneg_wa_1m/wfs?request=GetCapabilities&service=wfs&version=1.1.0)). There's a _lot_ of data behind this service so you might just want to concentrate on a small area - you can request just the data lying within a given bounding box. This will give you an XML document which you can grep through to find the shape data, as well as a bunch of metadata (what rock type each shape refers to etc). Check out GA's list of webservices for more info. - -- **[Fiona](https://github.com/Toblerity/Fiona), [Shapely](https://github.com/Toblerity/Shapely) and [Rasterio](https://github.com/mapbox/rasterio)** - these libraries make it easy to handle vector and raster mapping data in Python. You'll need to get a way of transferring the XML from the feature service into a Shapely object. - -- [**Bukkit**](https://bukkit.org/) and [**RaspberryJuice**](http://dev.bukkit.org/bukkit-plugins/raspberryjuice/) - this is an open source minecraft server which you can run locally on your machine to be able to test your maps, and a plugin which exposes a Python-based API for generating maps. - -Once you're up and running you can consider adding other datasets to your map generator - given the GA data is just coming from a WFS you should be able to handle any other WFS endpoint to give you access to a new dataset. diff --git a/_posts/2015-05-08-landcare.md b/_posts/2015-05-08-landcare.md deleted file mode 100644 index c427516..0000000 --- a/_posts/2015-05-08-landcare.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -layout: post -title: Landcare Research -tags: nz datasets portals ---- - -Landcare Research’s core purpose is to drive innovation in the management of terrestrial biodiversity and land resources. The conduct science across land resources, defining land biota, managing biodiversity, invasive weeds and pests, measuring biodiversity change and supporting trade. The [Landcare data page](http://www.landcareresearch.co.nz/resources/data) has a bunch of links to New Zealand-based datasets relating to land and ecological resources. - -[![Landcare data portal]({{ site.url }}/resources/landcare-data.png)](http://www.landcareresearch.co.nz/resources/data "Landcare data") - -Some of the cool datasets include: - -- [**The National Land Resource centre**](http://www.nlrc.org.nz/resources) - a collaborative partnership among a number of Crown Research Institutes (CRIs) including Landcare Research, AgResearch, Scion, Plant & Food Research, GNS Science and ESR aiming to provide the evidence and capability from which to enhance and unlock the ’land economy’ in NZ. You can search through a range of datasets related to land resources (including Antartic topography data, DoC geospatial data, ecological systems - including valuation!) spatially and semantically. - -- [**NZ Soils Portal**](http://soils.landcareresearch.co.nz/contents/index.aspx) - provides you with access to information on New Zealand's soils held by Landcare Research. From this site you can access data from the National Soils Database, Fundamental Soils Layers, Digital Soil Surveys and the new S-map database. There's also a digital soil map at [S-mapOnline](http://smap.landcareresearch.co.nz/home), and you can also [download the data (shapefiles & metadata) here](https://lris.scinfo.org.nz/). There is also a wealth of explanatory information about current and historical soil naming schemes used in New Zealand. - -- [**NZ National Vegetation Survey Databank**](https://nvs.landcareresearch.co.nz/) - contains records of over 94,000 vegetation survey plots - including data from over 21,000 permanent plots. These data can be explored online as well as requested for download. NVS provides a unique record, spanning more than 50 years, of indigenous and exotic plants in New Zealand's terrestrial ecosystems, from Northland to Stewart Island and the Kermadec and Chatham islands. A broad range of habitats are covered, with special emphasis on indigenous forests and grasslands. The physical archive includes plot sheets, maps, and photographs from many years of vegetation surveys. Purpose-built software for entering, validating and summarising data is available. - -- [**Ko te Aitanga Pepeke o Aotearoa - New Zealand Land Invertebrates**](http://www.landcareresearch.co.nz/resources/data/ko-te-aitanga-pepeke-o-aotearoa-new-zealand-land-invertebrates) - provides access to information on land invertebrate taxa, primarily insects, other arthropods, and nematodes that occur in New Zealand. The information is derived from the New Zealand Arthropod Collection Names and Specimens databases. The New Zealand Arthropod Collection Names database lists c. 34,000 names, including several synonyms and incorrectly applied names. The database indicates which of the names are preferred for use at the New Zealand Arthropod Collection (NZAC) and the National Nematode Collection of New Zealand (NNCNZ). Current data emphasize groups of insects, mites, other arthropods, and nematodes for which taxonomic expertise is available at or in association with these collections. \ No newline at end of file diff --git a/_posts/2015-05-09-tern-portal.md b/_posts/2015-05-09-tern-portal.md deleted file mode 100644 index 6317c27..0000000 --- a/_posts/2015-05-09-tern-portal.md +++ /dev/null @@ -1,37 +0,0 @@ ---- -layout: post -tags: aus datasets portals -title: Terrestrial Ecosystem Research Network - ---- - -The [Terrestrial Ecosystem Research Network (TERN)](http://www.tern.org.au/What-is-TERN-pg22570.html) connects ecosystem scientists and enables them to collect, contribute, store, share and integrate data across disciplines. Collectively this increases the capacity of the Australian ecosystem science community to advance science and contribute to effective management and sustainable use of our ecosystems. - -The [TERN data discovery portal](http://portal.tern.org.au/ "TERN portal") provides access to all of the stored data across the ecosysten science community. - -[![TERN portal homepage]({{ site.url }}/resources/tern-portal.png)](http://portal.tern.org.au/ "TERN portal") - -The TERN portal provides a wide variety of ecosystem datasets including datasets on: - -- [**plants**](http://portal.tern.org.au/search#!/q=%28verte*%20OR%20inverte*%29%20OR%20%28fauna%20OR%20animal%29%20OR%20%28flora%20OR%20plant%29%20OR%20%28species%20OR%20biota%29%20OR%20biodiversity/p=1/tab=collection/num=10) -- [**animals**](http://portal.tern.org.au/search#!/q=%28vegetation%20OR%20revegetation%29%20OR%20biomass%20OR%20canopy%20OR%20reforestation%20OR%20carbon%20OR%20%22tree%20ring*%22/p=1/tab=collection/num=10) -- [**terrestrial ecosystems**](http://portal.tern.org.au/search#!/q=%28terrestrial%20OR%20ecosystem%29%20OR%20%28wetlands%20OR%20grass*%20OR%20forest%20OR%20habitat%29%20OR%20%28land%20OR%20desert%20OR%20islands%20OR%20savannas%29/p=1/tab=collection/num=10) -- [**ecological dynamics**](http://portal.tern.org.au/search#!/q=%28ecosystem%20OR%20ecology%29%20OR%20dynamics%20OR%20%22fire%20AND%20ecology%22%20OR%20%22species%20AND%20interaction%22%20OR%20invasive%20/p=1/tab=collection/num=10) -- [**fresh water and esturine ecosystems**](http://portal.tern.org.au/search#!/q=%28%22fresh%20water%22%20OR%20freshwater%29%20OR%20%28estuarine%20OR%20riparian%29%20OR%20%28hydro*%20OR%20%22surface%20water%22%20OR%20%22ground%20water%22%20OR%20%22water%20quality%22%29%20OR%20%28creek%20OR%20river*%20OR%20stream*%20OR%20lake*%29%20OR%20%28flood*%20OR%20flow*%29%20OR%20%28glacier*%20OR%20snow%20OR%20ice%29/p=1/tab=collection/num=10) -- [**soils**](http://portal.tern.org.au/search#!/q=%22land%20surface%22%20OR%20soil*%20OR%20erosion%20OR%20sedimen*%20OR%20land*%20OR%20topography%20OR%20%22frozen%20AND%20land%22%20OR%20%22soil%20AND%20salinity%22/p=1/tab=collection/num=10) -- [**agriculture**](http://portal.tern.org.au/search#!/q=%28agricultur*%20OR%20farm%20OR%20pastoral%20OR%20pastur*%29%20OR%20%28graz*%20OR%20crop*%20OR%20irrigation%29%20OR%20%28conserv*%20OR%20manage*%29/p=1/tab=collection/num=10) -- [**oceans and coasts**](http://portal.tern.org.au/search#!/q=%28coast*%20OR%20ocean*%29%20OR%20marine%20OR%20beach%20OR%20bathmetry%20OR%20tide*%20OR%20aqua*%20OR%20sea*%20OR%20saltwa*%20OR%20storm%20OR%20shoreline%20OR%20wave*%20OR%20salinity/p=1/tab=collection/num=10) -- [**climate**](http://portal.tern.org.au/search#!/q=climate%20OR%20%28index%20OR%20indice*%29%20OR%20anomaly%20OR%20oscillation%20OR%20pattern/p=1/tab=collection/num=10) -- [**human-nature interaction**](http://portal.tern.org.au/search#!/q=%28human*%20OR%20%22human%20impact%22%29%20OR%20survey%20OR%20boundaries%20OR%20economi*%20OR%20productio*%20OR%20behav*%20OR%20infrastructure%20OR%20%22land%20management%22%20OR%20harzard*/p=1/tab=collection/num=10), and -- [**energy, water and gas**](http://portal.tern.org.au/search#!/q=energy%20OR%20gas%20OR%20flux*%20OR%20atmospher*%20OR%20cloud%20OR%20air%20OR%20Pheno*%20OR%20radia*%20OR%20vapo*%20OR%20wind*%20OR%20precipitation%20OR%20rain/p=1/tab=collection/num=10) - -You can search their [data discovery portal](http://portal.tern.org.au/) directly, and they also provide a [spatial-based search](http://portal.tern.org.au/search#!/mapSearch=1) if you're looking for ecosystem data from a particular area. - -These datasets are collated from a distributed set of data facilities - you can read more about these facilities and the sorts of data they provide [on the data submission page here](http://portal.tern.org.au/home/submitdata). Some of the interesting projects contributing data include: - -- **Australian Supersite Network** - manages data from a number of supersites across the country. Each Supersite represents a different ecosystem type and takes long-term vegetative, faunal and biophysical measurements in a series of core experiments. Core experiment measurements cover meteorology and fluxes, faunal monitoring, soils and hydrology, vegetation, landscape and water measurements. Data from each site must be collected, formatted and indexed to create a dataset and stored in CSV, text and Excel file formats along with descriptive metadata. -- **Soils and Landscape Facility** - developing fine resolution national grids of key soil attributes through the application of digital soil mapping techniques. This utilises available soil site and mapped soil data as inputs to attribute estimation models, as well as comparing modelled outputs to site data for validation. Submission of soil site and mapped data is to be arranged through state government agencies in cooperation with the Australian Collaborative Land Evaluation Program, which delivers and manages the Australian Soil Resource Information System (ASRIS) -- **OzFlux** - primary data consists of time series of meteorological observations (temperature, humidity, wind speed and direction, solar and terrestrial radiation etc) and the corresponding exchanges of momentum, heat, water vapour and carbon dioxide between the surface and the lowest layer of the atmosphere. These data are collected at a number of sites around Australia. The second category is ancillary data collected to support the analysis and interpretation of the time series data. This consists of allometric and leaf-level photosynthetic data at seasonal time scales for selected sites and remotely sensed data for each site such as leaf-area index and albedo. Primary data from 23 sites are currently available from the [OzFlux Data Portal](http://ozflux.its.monash.edu.au/ecosystem/home). -- **The Multi-scale Plot Network** - collects a range of ecological plot data covering rangelands, forests, long-term ecological monitoring programs and sub-continental transects that span from coasts to inland. These data come from a range of sub-Facilities, including Supersites. Rich ecological data on plants, animals and their environments are then submitted for storage in [ÆKOS (Australian Ecological Knowledge and Observation System)](http://www.ecoinformatics.org.au/) (which also has it's own data portal [here](http://www.aekos.org.au/home)). - -TERN is supported by the Australian Government through the National Collaborative Research Infrastructure Strategy and the Super Science Initiative. You can contact the TERN portal team [using their contact form here](http://portal.tern.org.au/contact) or send an email to . \ No newline at end of file diff --git a/_posts/2015-05-10-aodn-portal.md b/_posts/2015-05-10-aodn-portal.md deleted file mode 100644 index 857a177..0000000 --- a/_posts/2015-05-10-aodn-portal.md +++ /dev/null @@ -1,26 +0,0 @@ ---- -layout: post -tags: aus portals datasets -title: AODN Ocean Data Portal - ---- - -The [AODN Ocean Data Portal](http://portal.aodn.org.au/aodn/) is the primary access point for search, discovery, access and download of data collected by the Australian marine community. - -Primary datasets are contributed by the Integrated Marine Observing System (IMOS) an Australian Government Research Infrastructure project, and the six Commonwealth Agencies with responsibilities in the Australian marine jurisdiction (Australian Antarctic Division, Australian Institute for Marine Science, Bureau of Meteorology, Commonwealth Science and Industrial Research Organisation, Geoscience Australia and the Royal Australian Navy). - -[![AODN portal homepage]({{ site.url }}/resources/aodn-portal.png)](http://portal.aodn.org.au/aodn/ "AODN portal") - -This portal has access to the complete IMOS metadata catalog and all available ocean data (you can also access the [IMOS portal here](https://imos.aodn.org.au/imos123/home). Some of the interesting datasets include: - -- **Aerial photographs, nest cameras, protected areas and satellite imagery** from the Australian Antartic division -- **Coral cores and oceanographic surveys** from the Australian Institude of Marine Science -- **Sea level and wave gauge data** from the Bureau of Meterology -- **Mapping and climate modelling** from the CSIRO -- **Temperature, CDN and bioluminesce data** from the Royal Australian Navy - -The infrastructure of the AODN is based on the IMOS Ocean Portal, which follows international standards and agreements for data/metadata formatting, discovery and sharing. We utilise the Nectar National Servers program to deliver the IMOS data and the Tasmanian Partnership for Advanced computing (TPAC) at UTAS, through the Research Data Services program, to provide the long term archive. - -IMOS and the repositories of the Commonwealth agencies (see Who are we?) form the core of the AODN. Increasingly, though, universities and State government offices are offering up data resources to the AODN, and delivery of data to the AODN is being written in to significant research programs e.g. National Envronmental Science Program Marine Biodiversity Hub and the Great Australian Bight research program. - -You can follow the [AODN on Facebook](https://www.facebook.com/AusOceanDataNet). diff --git a/_posts/2015-05-12-atlas-living-australia.md b/_posts/2015-05-12-atlas-living-australia.md deleted file mode 100644 index 1ac207b..0000000 --- a/_posts/2015-05-12-atlas-living-australia.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: post -tags: aus datasets portals -title: Atlas of Living Australia ---- - -The Atlas of Living Australia (ALA) is a collaborative, national project that aggregates biodiversity data from multiple sources and makes it available and usable online. - -[![ALA homepage]({{ site.url }}/resources/ala-shot.png)](http://www.ala.org.au/ "Atlas of Living Australia homepage") - -It contains a massive amount ([nearly 56 million records](http://dashboard.ala.org.au/)) of biodiversity data collated by [Australian scientific communities](http://www.ala.org.au/about-the-atlas/atlas-background/atlas-partners/partner-profiles/) and [citizen scientists](http://www.ala.org.au/get-involved/citizen-science/). Tons of geospatially located species occurences, info on those species, and APIs for uploading and accessing data. - -Some of the interesting datasets are: - -- **Australia's species** - Search for Australian flora and fauna species by common, scientific name or search by category. -- **Species by location** - Search by pre-defined region, or enter an address or location to find the recorded species nearby. -- **A list of collections** - which lets you learn about the collections held by institutions contributing to the ALA and view records of specimens that have been included. -- **Mapping and analysis** - A spatial portal for investigating species occurrences within specified locations and the environmental impacts. - -Other features: - -- The ALA includes [a sandbox](http://sandbox.ala.org.au/datacheck/) to check your data is well formatted for includsion within the ALA - this might be useful if you want your hack to produce data for inclusion. -- The ALA also has dedicated [iOS](https://itunes.apple.com/au/app/ozatlas/id509021205) and [Android](https://play.google.com/store/apps/details?id=au.org.ala.mobile.ozatlas) apps you can use on your smartphone. - -If you know what you want, then you can search for datasets directly using the [ALA's dataset search here](http://www.ala.org.au/data-sets/). There's also a [spatial query portal](http://spatial.ala.org.au/) which allows you to select data by locality - so it's easy to see what's available in a particular area you might be interested in. The ALA also provides their own web APIs for querying and discovering data - these are extensively documented with examples on the [API page](http://api.ala.org.au/). - -The ALA communications team can be contacted by email at \ No newline at end of file diff --git a/_posts/2015-05-13-water-from-space.md b/_posts/2015-05-13-water-from-space.md deleted file mode 100644 index 7918eff..0000000 --- a/_posts/2015-05-13-water-from-space.md +++ /dev/null @@ -1,50 +0,0 @@ ---- -layout: post -tags: datasets portals -title: Water Observations from Space -photo_url: http://www.scienceimage.csiro.au/images/cache/detail/976_0_CA12253.jpg ---- - -Water Observations from Space (WOfS) is a 25-m resolution gridded dataset indicating areas where surface water has been observed over time from 1987 to 2014, calculated using GA satellite data. Each satellite image pixel is an observation; successful observations are those in which the Earth’s surface is clearly seen (unobscured by clouds for example) and quality checks are passed. Water is detected from these observations using an automated flood mapping algorithm created by Geoscience Australia. - -The water detected for each location is summed through time and then compared to the number of clear observations of that location (i.e. observations not affected by cloud, shadow or other quality issues). The result is a percentage value of the number of times water was observed at the location. This provides relatively seamless historical water coverage for Australia. - -[![Australia WOfS map]({{ site.url }}/resources/wofs.png)](http://dap.nci.org.au/thredds/remoteCatalogService?catalog=http://dapds00.nci.org.au/thredds/catalog/fk4/catalog.xml) - -The values in the summary layer indicate how often water was observed (as a proportion of the total number of clear observations) in each cell of a 25 metre by 25 metre grid across Australia since 1987. Possible floods appear in the low values while consistent water bodies such as lakes and dams have high values. The WOfS product Version 1.5 includes observations taken between 1987 and 2014 (inclusive) from the Landsat 5 and 7 satellites. WOfS covers all of mainland Australia and Tasmania but excludes off-shore Territories. - -### What's available - -GA maintains documentation on WOfS data [online here (PDF)](http://www.ga.gov.au/corporate_data/81568/Landcover25_Water_Water_Observations_from_Space_WOfS_version_1.4.pdf). The data archive consists of 2 datasets divided into 1 x 1 degree (latitude and longitude) tiles covering all of Australia: - -1. A tiled dataset of the water classification results derived from each satellite observation in the Landsatarchive since 1987. Each tile is populated with values that indicate the pixel classification, viz: -- Water is present -- Water is absent (surface observation) -- Water is undetectable (cloud/cloud shadow/pixel saturated/no data/terrain shadow/high slope) -- Pixel is located in the sea - -2. A cumulative statistical “summary” dataset that combines all water observations from the entire time series into 5 tiled layers.: -- ClearObservations: the total number of clear observations for the cell (pixel); -- WaterObservatons: the number of times that surface water is detected for the cell; -- WaterSummary: the ratio of the number of water observation to the number of clear observations; -- Confidence:The Confidence Level assigned to each water observation is based on a statistical analysis of factors, including topographic position, elevation and slope, other independent satellite observations of water, topographic maps of water features, and the observation frequency. The confidence layer can be used to filter uncertain observations, for instance when displaying the data. -- WaterSummaryFiltered: the Water Summary filtered to only show results where the Confidence is 1% or greater. - -The individual water extents (Dataset 1) is available in geoTIFF format, while the summary products (Dataset 2) is available via a Web Map Service (see below). - -WOfS can be used to map and characterise inland water bodies and provides information about the observed extent of inundation for waterways and floodplains. It is a resource for both users and providers of information about surface water permanence and the extent and frequency of inundation. Potential users include government agencies, research institutions, the general public and academia. - -WOfS is limited by the frequency and number of successful observations, which are determined by the satellite revisit rate (see table below) and by clouds. In particular, short-lived inundation events may not have been observed. Areas of inland Australia have been observed over 800 times, whereas highly-cloud-prone coastal and mountainous areas may have very few successful observations. - -WOfS is also limited by the quality of the sensors, including their spatial resolution, and the accuracy of the water detection algorithms used. As a consequence of these limitations the product will potentially not detect the flood peak, thereby failing to capture the maximum extent of flooding. This particularly affects rapidly draining coastal catchments where the flood peak often passes before a cloud free observation is acquired. - -### Accessing the data - -The latest 2 versions of WOfS can be accessed via http and web services (for the summary layers). Versions are denoted as Current (latest version) and Previous (previous version) and are updated with the latest available data on a quarterly basis. - -- Individual water extents (dataset 1) are available as GeoTIFF here: [dap.nci.org.au](http://dap.nci.org.au). Data is located in the directory tree under Water Observations from Space. -- Summary products (dataset 2) is available via a Web Map Service (WMS) endpoint here: [eos.ga.gov.au/geoserver/wms](http://eos.ga.gov.au/geoserver/wms). You can also browse the available layers in an [OpenLayers interface](http://eos.ga.gov.au/geoserver/web). - -### Need more info? - -Norman Mueller is GA's data mentor for GovHack 2015 - you can contact him with any questions about accessing these services. \ No newline at end of file diff --git a/_posts/2015-05-16-csiro-dap.md b/_posts/2015-05-16-csiro-dap.md deleted file mode 100644 index ab42ca6..0000000 --- a/_posts/2015-05-16-csiro-dap.md +++ /dev/null @@ -1,18 +0,0 @@ ---- -layout: post -tags: datasets portals -title: CSIRO Data Access Portal ---- - -The CSIRO Data Access Portal provides access to data published by CSIRO across a range of disciplines. It gives access to CC-BY and CSIRO Data License datasets with a diverse range of subjects including [pulsars](https://data.csiro.au/dap/search?q=Pulsars&p=1&rpp=25&sb=RELEVANCE&dr=all&soud=on) to [viruses](https://data.csiro.au/dap/search?tn=Veterinary%20Virology), [ontologies](http://dx.doi.org/10.4225/08/537452F354E36) to [genomics](https://data.csiro.au/dap/search?q=genomics&p=1&rpp=25&sb=RELEVANCE&dr=all&soud=on), [seabed sediments](https://data.csiro.au/dap/search?q=seabed%20sediments&p=1&rpp=25&sb=RELEVANCE) to [solar radiation](https://data.csiro.au/dap/search?q=solar%20radiation&p=1&rpp=25&sb=RELEVANCE) - -[![CSIRO Data Access portal]({{ site.url }}/resources/dap-portal.png)](https://data.csiro.au/dap/home?execution=e1s1 "CSIRO Data Access portal") - -There is a browser interface to browse by subject area, search by keyword, search by location, download files. All help documentation is [here](https://wiki.csiro.au/display/dmsdoc/Find+Data). There are a few things to watch out for though: - -- Beware licences- some data collections specify No Derivatives, some specify Non Commercial reuse. -- Beware collections with public metadata but non public data. After searching, use the Show ONLY option in the Refine Results column to limit to those collections with public data. -- Beware large collections (>1GB) - check special download instuctions for these [here](https://wiki.csiro.au/display/dmsdoc/Large+Collection+Access+%28non-CSIRO+Users%29) -- There is an API which can be used to access the catalog content, [see here](https://wiki.csiro.au/display/dmsdoc/Web+Services+Interface). - -Feedback is welcome. If you have anything to tell us about the data you find, its usability, the usability of the DAP please let us know via . If you know of [CSIRO research](http://www.csiro.au) that may be generating data that you could have used for an idea but you can't find the data please also let us know. \ No newline at end of file diff --git a/_posts/2015-05-17-geoscience-australia-data.md b/_posts/2015-05-17-geoscience-australia-data.md deleted file mode 100644 index 87a1667..0000000 --- a/_posts/2015-05-17-geoscience-australia-data.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -layout: post -tags: datasets portals -title: Geoscience Australia Data and Publications ---- - -Geoscience Australia has an extensive catalogue of data, publications, online tools, maps and videos. These cover topics from [astronomy](http://www.ga.gov.au/scientific-topics/astronomical), [earth observation and satellite imagery](http://www.ga.gov.au/scientific-topics/earth-obs), [energy](http://www.ga.gov.au/scientific-topics/energy), [geographic information](http://www.ga.gov.au/scientific-topics/geographic-information), [hazards](http://www.ga.gov.au/scientific-topics/hazards), [marine and costal](http://www.ga.gov.au/scientific-topics/marine), [minerals](http://www.ga.gov.au/scientific-topics/minerals), [positioning and navigation](http://www.ga.gov.au/scientific-topics/positioning-navigation) and [water](http://www.ga.gov.au/scientific-topics/water). - -[![Geoscience Australia Data Access]({{ site.url }}/resources/ga-portal.png)](http://www.ga.gov.au/data-pubs "Geoscience Australia Data & Publications") - -Many of Geoscience Australia's datasets are available via [web services](http://www.ga.gov.au/data-pubs/web-services), so you can serve live data directly into your hack or GIS package. Most of these services are [listed on this page](http://www.ga.gov.au/data-pubs/web-services/ga-web-services). - -There are also links to MODIS, Landsat 7, Landsat 8, TERRA and AQUA data which are available immediately after each satellite overpass - there is [more information about these data products here](http://www.ga.gov.au/scientific-topics/earth-obs/neo-news-2013/near-real-time-satellite-imagery-products-now-available) and [technical details here](http://www.ga.gov.au/scientific-topics/earth-obs/neo-news-2013/technical-information-on-near-real-time-data-dissemination). - -Geoscience Australia also provides a large number of online tools to query parts of their data holdings - there's more information on this [page here](http://www.ga.gov.au/data-pubs/online-tools). \ No newline at end of file diff --git a/_posts/2015-05-18-csiro-science-image.md b/_posts/2015-05-18-csiro-science-image.md deleted file mode 100644 index 514d36a..0000000 --- a/_posts/2015-05-18-csiro-science-image.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -layout: post -title: CSIRO Science Image -tags: aus datasets ---- - -CSIRO Science Image provides a curated set of over 4000 photographs from the CSIRO archives, covering the full breadth of Australian science. These images are free to download and use under a Creative Commons License (as they have been on this site!). - -The images come with a lot of metadata, and you can search by topic, by spatial location or by photo characteristics (color, size, orientation etc). - -[![CSIRO Science Image website]({{ site.url }}/resources/csiro-scienceimage.png)](http://www.scienceimage.csiro.au/search/) - -CSIRO has a regular Image of the Day post on [Twitter](https://twitter.com/CSIROnews) and [Facebook](https://www.facebook.com/pages/CSIRO/142468583842) - just search for [#CSIROPics](https://twitter.com/search?f=realtime&q=%23csiropics&src=typd). \ No newline at end of file diff --git a/_posts/2015-06-01-landsat.md b/_posts/2015-06-01-landsat.md deleted file mode 100644 index 0690002..0000000 --- a/_posts/2015-06-01-landsat.md +++ /dev/null @@ -1,42 +0,0 @@ ---- -layout: post -tags: datasets -title: Landsat 5 and 7 Imagery -photo_url: http://apod.nasa.gov/apod/image/9905/sanfran_landsat7_big.jpg ---- - -The [Landsat satellites](http://www.ga.gov.au/scientific-topics/earth-obs/satellites-and-sensors/landsat/arg25) have provided imagery over Australia since the early 1970s. This provides an archive of data that is useful for understanding changes in the environment, agriculture, water resources and many other fields of interest. The datasets acquired by Landsat 5 (1987 – 2011) and Landsat 7 (1999 – present) have been standardised to a systematic level to enable consistent analyses of the land surface both spatially and temporally. - -The best bit about Landsat imagery is the fact that measurements are available for such a long period of time. This lets you do pretty cool time based analysis including: - -- Forestry and natural resource management – analysis of deforestation -- Agriculture – analysis of change in soil and crop condition -- Water and drought/flood management – analysis of change in water cover -- City and population planning – analysis of urban and city growth - -Just be aware that there's about a petabyte of data in behind the services (there's about 184,000 individual scenes) - don't expect to be able to process the whole thing in a weekend! The WCS services below make it easy for you to pull out small sections of the continent for analysis - just ask one of our data mentors if you're unfamiliar with accessing these services. - -[![Landsat Image](http://apod.nasa.gov/apod/image/9905/sanfran_landsat7_big.jpg)](http://www.ga.gov.au/scientific-topics/earth-obs/satellites-and-sensors/landsat/arg25) - -### More info - -The Landsat data has been processed to the Australian Reflectance Grid 25 (ARG25) specification, comprising six spectral bands at a nominal resolution of 25m. There are two ways of getting the imagery depending on what you want to do with it: - -- The Web Map Services (WMS) provide geo-referenced map images of the Landsat scenes. -- The Web Coverage Services (WCS) provide access to the full resolution data. - -The published services adhere to the following conventions: - -- Each scene is published as a single WMS and WCS service; -- Each service consists of six layers (one layer for each band); and -- The WMS services have an additional 7th layer which is a false colour composite (ie. combination of Bands 7, 4 and 1) - -GA has some basic explanations on [accessing these webservices here](http://www.ga.gov.au/data-pubs/web-services), and there are some instructions on how to connect to the Landsat archive services [using Python here](http://earthinformatics.blogspot.com.au/2013/07/accessing-geoscience-australia-arg25.html). - -In addition to these data access services, GA maintains a catalogue of the GA Landsat archive, holding ISO 19115 metadata for each Landsat scene. The catalogue has an OGC Web Catalogue Service (CSW) allowing machine-to-machine access. Landsat data is available under Creative Commons Attribution 4.0 Licence (CC-BY). - -The USGS has a [viewer for their landast data holdings](http://landsatlook.usgs.gov/) if you want to take a quick look at what the data might look like. - -### Still got questions? - -Norman Mueller is GA's data mentor for GovHack 2015 - you can contact him with any questions about accessing these services or for more information. \ No newline at end of file diff --git a/_posts/2015-06-02-sentinel-hotspot.md b/_posts/2015-06-02-sentinel-hotspot.md deleted file mode 100644 index e655b86..0000000 --- a/_posts/2015-06-02-sentinel-hotspot.md +++ /dev/null @@ -1,28 +0,0 @@ ---- -layout: post -tags: datasets portals -title: Sentinel HotSpot Data -photo_url: http://www.scienceimage.csiro.au/images/cache/detail/976_0_EM2208.jpg ---- - -Sentinel Hotspots provides an important and consistent overview for management of fires across the country. The system was developed in the mid-2000 through a collaborative effort between Geoscience Australia, Australian Geospatial-Intelligence Organisation and CSIRO Land and Water. The system monitors hotspots nationally and provides timely hotspots information to its end-users. Sentinel has been a valuable input into the tools used by government and private agencies managing fires in Australia. - -Sentinel hotspots are point data, derived from (a growing number of) satellite-born instruments that detect light in the thermal wavelengths. Typically, the satellite data are processed with a specific algorithm that highlights areas with an unusually high temperature. - -[![Sentinal Hotspots homepage]({{ site.url }}/resources/sentinel-portal.png)](http://sentinel.ga.gov.au/#/announcement "Sentinal Hotspots homepage") - -A number of land management and emergency response agencies have taken data feeds from the Sentinel system to imbed into their routine fire management operations enhancing their situational awareness programs to assist staff, managers and the community. Hotspots data when merged with other spatial information provide a strategic picture to land managers; which allows them to understand the implications of a particular fire as well as to target resources. - -Overall the Sentinel Hotspot Dataset goes back to August 2002 (27th) and contains more than 4.4 _million_ records, with data from a range of satellites including MODIS (from 27 August 2002) AVHRR (from 19 October 2006) and VIIRS (from December 2013). - -### Accessing the data - -GA provides documentation on the Sentinal Hotspot products [here (PDF)](http://sentinel.ga.gov.au/resources/img/help/Sentinel_Hotspots_Product_Desc.pdf). There are different ways and formats to access and visualise the actual hotspot data: - -1. **OGC Web Services** - Sentinel allows data to be accessed via OGC Web Map Service (WMS) – which allow data to be accessed as image formats such as PNG, JPEG, and so on; and Web Feature Service (WFS) services – which allow data to be accessed as “feature” (text records). The WMS is located here: [http://sentinel.ga.gov.au/geoserver/wms?service=wms&version=1.1.1&request=getcapabilities](http://sentinel.ga.gov.au/geoserver/wms?service=wms&version=1.1.1&request=getcapabilities), and the WFS endpoint is located here: [http://sentinel.ga.gov.au/geoserver/wfs?service=wfs&version=1.1.1&request=getcapabilities](http://sentinel.ga.gov.au/geoserver/wfs?service=wfs&version=1.1.1&request=getcapabilities) -2. **Geoscience Australia FTP Server** - This contains a rolling “last 10 days” of the hotspots in text file format.  The data is “grouped” by satellite pass; there are 2 files for each satellite pass – the hotspots themselves (in CSV format) plus a metadata file containing some information about the satellite pass from which the hotspots were identified. The FTP endpoint is here: [ftp://ftp.ga.gov.au/outgoing-emergency-imagery/sentinel](ftp://ftp.ga.gov.au/outgoing-emergency-imagery/sentinel) -3. **User Interface** – GA also provides an online visualization and download tool to displays hotspots and other contextual information. There are two versions of the Sentinel UI: “Public”, which is accessible to the general public and “Secure”, which is accessible via a secure login. The Secure UI is primarily used by Emergency Management and contains hotspots produced by “others”. You can check this out here: [sentinel.ga.gov.au](http://sentinel.ga.gov.au/) - -### Still got questions? - -Norman Mueller is GA's data mentor for GovHack 2015 - you can contact him with any questions about accessing these services. diff --git a/_posts/2015-06-15-getting-to-know-science-data.md b/_posts/2015-06-15-getting-to-know-science-data.md deleted file mode 100644 index 0864dbf..0000000 --- a/_posts/2015-06-15-getting-to-know-science-data.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -layout: post -tags: ideas -title: Getting to know scientific data ---- - -A lot of the science datasets can feel a bit intimidating because they sometimes require a lot of specialist knowledge to interpret, and it can be difficult to know how to interrogate them correctly. - -It's often a good idea to steer clear of the field that the data was originally collected for - the scientists have probably already covered this stuff. - -You should think about how this information could be used in a field you're more familiar with, or with a dataset that you know more about - data mashups are definitely the way to go. And really, this is a hack so scientific rigour is not primarily what we're after (although telling us that your hack will reverse gravity won't really cut the mustard). - -If you have still have questions about the details of a scientific dataset, or how to interpret it. your best bet is to ask around at the event - there will be data mentors or even other competitors who may be familiar with your selected data or something similar, even if they're not from CSIRO or GA. Otherwise try me on [Twitter](http://twitter.com/jesserobertson) and I might be able to help. - -![A CSIRO scientist in the lab](http://www.scienceimage.csiro.au/images/cache/detail/976_0_BU5147.jpg) - -### Geospatial data - -A lot of scientific datasets (especially the geoscientific ones) involve a geospatial component. But try to think about doing more than just 'we plotted this data on a map' - is there a cool mashup with some other data that you can use to add value to your map? Can it be used as a gateway for some other dataset? - -There's a really good introduction to geospatial data in the [GovHack hackers guide](http://govhack-toolkit.readthedocs.org/technical/geographic-data/) with a ton of hints and tips, but here's a few more from us: - -- Geospatial data can be a bit tricky to get used to on the fly. One thing to keep in mind is whether you're dealing with a raster coverage (usually something like an array of numbers given at gridded pixel locations) or vector data (more like polygons, lines or individual points at arbitrary (x, y) locations, usually with some kind of metadata). -- Probably the easiest way to get started with a mash up (if you're not wanting to program heaps) is to load stuff into a GIS package. [QGIS](http://www.qgis.org/en/site/) is fantastic and well worth a look if you don't have a license for ArcGIS or MapInfo, and is able to slurp data directly from providers like Geoscience Australia. -- [**Natural Earth**](http://www.naturalearthdata.com/) is a fantastic resource for getting nicely curated vector geospatial data with decent metadata, available at 1:10 million (1 cm = 100 km), 1:50 million, and 1:110 million map scales. This data comes in shapefile format, but Mike Bostock (of protovis/d3 fame) has a good post on using this data with a bit of `ogr2ogr` munging to generate nice d3 maps: [http://bost.ocks.org/mike/map/](http://bost.ocks.org/mike/map/). -- On the topic of geojson, there are a bunch of really good libraries in most languages for dealing with geospatial data in that format - aside from the usual suspects in js (as well as Mike's tutorial above, see [here for a tutorial on choropleth mapping](http://blog.visual.ly/how-to-make-choropleth-maps-in-d3/), and any of the examples on the [d3 gallery](https://github.com/mbostock/d3/wiki/Gallery)), Python has libraries like [shapely](https://github.com/Toblerity/Shapely) for dealing with vector data, and [rasterio](https://github.com/mapbox/rasterio) for raster coverages. -- Another issue (which will be especially important for data mashups) will be having to deal with different projections etc. Make sure you have a good idea of what libraries you're going to use for this - you don't want to be debugging a hand-rolled transform function in the middle of the hack. -- If you are producing javascript maps and want to make it look a bit more unique then the usual google maps/openstreetmap styling take a look at [Mapbox](https://www.mapbox.com/), which allows you to design and serve up really pretty map styles over the web. Most decent mapping libraries will let you slurp in tiles from Mapbox. -- [Cesium](http://cesiumjs.org/) is another really cool project for WebGL-accelerated 3D globes with good support for visualising geospatial data. In fact, that's what [the National Map](http://nationalmap.research.nicta.com.au/) uses. diff --git a/_posts/2015-06-15-state-of-the-environment.md b/_posts/2015-06-15-state-of-the-environment.md deleted file mode 100644 index 1f08081..0000000 --- a/_posts/2015-06-15-state-of-the-environment.md +++ /dev/null @@ -1,20 +0,0 @@ ---- -layout: post -tags: ideas -title: Human impacts on Australian Biodiversity -photo_url: http://www.scienceimage.csiro.au/images/cache/detail/976_0_JM3856.jpg ---- - -How does the human world impact Australia's natural biodiversity? Do our protected areas actually protect our threatened species? How can we visualize this? A State of the Environment Dynamic Dashboard could mash up human impace data (eg Australian Bureau of Statistics population data, SLIP roads and buildings) and vulnerable species data from the Atlas of Living Australia. ([Here's an example](http://www.buzzfeed.com/peteraldhous/these-maps-reveal-how-the-us-is-failing-to-protect-its-wildl) that suggests American protcted areas aren't located where they're needed). - -A hack could include information on protected areas vs vunerable specied distributions, or other representations of ALA occurrence data – e.g. changes in species conversation status; adjusted representations of presence-only occurrence data weighted for likely biases in observer effort e.g. proximity to roads, population centres. - -![Australian King Parrot](http://www.scienceimage.csiro.au/images/cache/detail/976_0_JM3856.jpg) - -**Datasets and tools** - -The Atlas of Living Australia contains a massive amount ([nearly 56 million records](http://dashboard.ala.org.au/)) of biodiversity data collated by [Australian scientific communities](http://www.ala.org.au/about-the-atlas/atlas-background/atlas-partners/partner-profiles/) and [citizen scientists](http://www.ala.org.au/get-involved/citizen-science/). You can use the ALA APIs to pull live data from their portal and serve it up for your analysis. - -The [AdaptNRM project](http://adaptnrm.csiro.au/biodiversity-impacts/key-measures-of-ecological-change/disappearing-environments/) has a bunch of info on climate modelling and species habitats and how these are calculated. Georeferenced datasets from this modelling are available through the [CSIRO Data Access Portal here](http://dx.doi.org/10.4225/08/53FE5401D3CC8). - -ABS and SLIP data could be used to assess human impact, including proximity to roads, and development applications. When it comes to tools, anything goes really! Geospatial analysis would be crucial for this project though, so the info on that in the [hackers pack might be useful](http://govhack-toolkit.readthedocs.org/technical/geographic-data/). \ No newline at end of file diff --git a/_prizes/2016/act/act-best-data-visualisation.md b/_prizes/2016/act/act-best-data-visualisation.md new file mode 100644 index 0000000..b86e095 --- /dev/null +++ b/_prizes/2016/act/act-best-data-visualisation.md @@ -0,0 +1,17 @@ +--- +category: state +gid: act-best-data-visualisation +jurisdiction: act +name: Best Data Visualisation +organisation_title: ACT Government +title: Best Data Visualisation +type: Theme +--- + +For the project which exhibits the best visualisation of an ACT data set (or data sets). + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use some ACT Government data sets from data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-data-wrangling.md b/_prizes/2016/act/act-best-data-wrangling.md new file mode 100644 index 0000000..eb719f2 --- /dev/null +++ b/_prizes/2016/act/act-best-data-wrangling.md @@ -0,0 +1,40 @@ +--- +category: state +gid: act-best-data-wrangling +jurisdiction: act +name: Best Data Wrangling +organisation: liferay +organisation_title: Liferay +projects: +- bizhack +- hackanation +- on-the-move +- tour-de-chance +- exploring-indigenous-over-representation-in-youth-detention +- flood-watch +- a-century-of-intellectual-property +- go-explore-cbr +- ausémon +- stickin-around +- sizzlerig +- agricultura +- displaying-living-appeal-for-location-seeking-immigrants +- the-grid +- migrant-settlement-and-job-australia-data-visualiser +- parkachu +- question-time +- healthhack +- crashwarning +- -dash- +- put-a-bird-on-it +title: Best Data Wrangling +type: Theme +--- + +For the team which best takes raw or reasonably unusable/unfriendly data and converts it into a better and more usable format. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use some ACT Government data sets from data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-in-act.md b/_prizes/2016/act/act-best-in-act.md new file mode 100644 index 0000000..0360496 --- /dev/null +++ b/_prizes/2016/act/act-best-in-act.md @@ -0,0 +1,46 @@ +--- +category: state +gid: act-best-in-act +jurisdiction: act +name: Best in ACT +organisation_title: Oakton +projects: +- staying-the-course +- hackanation +- go-go-bus +- boj---jobquilibrium +- fun-run-cbr +- parkingmon-go +- health-hack +- tour-de-chance +- flood-watch +- a-century-of-intellectual-property +- go-explore-cbr +- ausémon +- sizzlerig +- agricultura +- displaying-living-appeal-for-location-seeking-immigrants +- parkachu +- cbr-heritage-data-team +- mind-the-gapp +- $treetcred +- smart-parking-enhancements +- smartroads +- healthhack +- crashwarning +- farrago-parking +- biznamr.info +- averageaussie +- -dash- +- put-a-bird-on-it +title: Best in ACT +type: Best In +--- + +For the project which best uses ACT data sets. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use some ACT Government data sets from data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-tertiary-hacker-team.md b/_prizes/2016/act/act-best-tertiary-hacker-team.md new file mode 100644 index 0000000..a3b7e5f --- /dev/null +++ b/_prizes/2016/act/act-best-tertiary-hacker-team.md @@ -0,0 +1,25 @@ +--- +category: state +gid: act-best-tertiary-hacker-team +jurisdiction: act +name: Best Tertiary Hacker Team +organisation_title: ACT Government +projects: +- hackanation +- boj---jobquilibrium +- flood-watch +- agricultura +- displaying-living-appeal-for-location-seeking-immigrants +- healthhack +- put-a-bird-on-it +title: Best Tertiary Hacker Team +type: Best In +--- + +For the best project from a team consisting of only ACT tertiary students. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Team must only consist of tertiary students who attend a university or TAFE in the ACT. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-use-of-act-government-smart-parking-data.md b/_prizes/2016/act/act-best-use-of-act-government-smart-parking-data.md new file mode 100644 index 0000000..a475a13 --- /dev/null +++ b/_prizes/2016/act/act-best-use-of-act-government-smart-parking-data.md @@ -0,0 +1,24 @@ +--- +category: state +gid: act-best-use-of-act-government-smart-parking-data +jurisdiction: act +name: Best Use of ACT Government Smart Parking Data +organisation_title: ACT Government +projects: +- parkingmon-go +- health-hack +- parkachu +- smart-parking-enhancements +- farrago-parking +- put-a-bird-on-it +title: Best Use of ACT Government Smart Parking Data +type: Theme +--- + +For the project which exhibits the best use of the ACT Government Smart Parking data. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use the ACT Government Smart Parking data. Available at data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-use-of-act-government-spatial-data.md b/_prizes/2016/act/act-best-use-of-act-government-spatial-data.md new file mode 100644 index 0000000..04a4b3a --- /dev/null +++ b/_prizes/2016/act/act-best-use-of-act-government-spatial-data.md @@ -0,0 +1,27 @@ +--- +category: state +gid: act-best-use-of-act-government-spatial-data +jurisdiction: act +name: Best Use of ACT Government Spatial Data +organisation_title: ACT Government +projects: +- fun-run-cbr +- flood-watch +- native-go +- ausémon +- sizzlerig +- displaying-living-appeal-for-location-seeking-immigrants +- $treetcred +- crashwarning +- put-a-bird-on-it +title: Best Use of ACT Government Spatial Data +type: Theme +--- + +For the project which exhibits the best use of the ACT Government spatial data. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use the ACT Government spatial data. Available at data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-best-youth-hacker-team.md b/_prizes/2016/act/act-best-youth-hacker-team.md new file mode 100644 index 0000000..30458a6 --- /dev/null +++ b/_prizes/2016/act/act-best-youth-hacker-team.md @@ -0,0 +1,27 @@ +--- +category: state +gid: act-best-youth-hacker-team +jurisdiction: act +name: Best Youth Hacker Team +organisation_title: ACT Government +projects: +- parkingmon-go +- tour-de-chance +- go-explore-cbr +- censusme +- parkachu +- mind-the-gapp +- smartroads +- crashwarning +- averageaussie +title: Best Youth Hacker Team +type: Best In +--- + +For the best project from a team consisting of only ACT secondary school students. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Team must only consist of secondary school students who attend a school in the ACT. \ No newline at end of file diff --git a/_prizes/2016/act/act-most-fun-use-of-act-government-data.md b/_prizes/2016/act/act-most-fun-use-of-act-government-data.md new file mode 100644 index 0000000..6a92319 --- /dev/null +++ b/_prizes/2016/act/act-most-fun-use-of-act-government-data.md @@ -0,0 +1,35 @@ +--- +category: state +gid: act-most-fun-use-of-act-government-data +jurisdiction: act +name: Most Fun Use of ACT Government Data +organisation_title: ACT Government +projects: +- go-go-bus +- fun-run-cbr +- parkingmon-go +- health-hack +- tour-de-chance +- native-go +- a-century-of-intellectual-property +- go-explore-cbr +- ausémon +- sizzlerig +- agricultura +- parkachu +- smart-parking-enhancements +- crashwarning +- farrago-parking +- averageaussie +- put-a-bird-on-it +title: Most Fun Use of ACT Government Data +type: Theme +--- + +For the project which demonstrates the most fun or entertaining use of ACT Government data. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use some ACT Government data sets from data.act.gov.au. \ No newline at end of file diff --git a/_prizes/2016/act/act-most-innovative-project-for-canberrans.md b/_prizes/2016/act/act-most-innovative-project-for-canberrans.md new file mode 100644 index 0000000..0c4e52e --- /dev/null +++ b/_prizes/2016/act/act-most-innovative-project-for-canberrans.md @@ -0,0 +1,39 @@ +--- +category: state +gid: act-most-innovative-project-for-canberrans +jurisdiction: act +name: Most Innovative Project for Canberrans +organisation_title: CBRIN +projects: +- bizhack +- go-go-bus +- fun-run-cbr +- parkingmon-go +- health-hack +- tour-de-chance +- flood-watch +- native-go +- newsexplo.re +- a-century-of-intellectual-property +- go-explore-cbr +- ausémon +- sizzlerig +- agricultura +- displaying-living-appeal-for-location-seeking-immigrants +- parkachu +- $treetcred +- smart-parking-enhancements +- crashwarning +- biznamr.info +- put-a-bird-on-it +title: Most Innovative Project for Canberrans +type: Theme +--- + +For the project which is the most innovative and impactful for Canberra residents. + +# Prize +Cash prize up to the value of $500 + +# Eligibility Criteria +Must use some ACT Government data sets from data.act.gov.au \ No newline at end of file diff --git a/_prizes/2016/act/act-spirit-of-govhack--youth.md b/_prizes/2016/act/act-spirit-of-govhack--youth.md new file mode 100644 index 0000000..3e5404e --- /dev/null +++ b/_prizes/2016/act/act-spirit-of-govhack--youth.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- canberra +gid: act-spirit-of-govhack--youth +jurisdiction: act +name: Spirit of GovHack -Youth +organisation_title: GovHack +title: Spirit of GovHack -Youth +type: Spirit +--- + +Awarded to 3 youths participants who demonstrate the best GovHack ethos. + +# Prize +A Sphero Robotic ball for each winner + +# Eligibility Criteria +Participants that are under 18. The award may be split between multiple recipients \ No newline at end of file diff --git a/_prizes/2016/act/act-the-spirit-of-govhack-act.md b/_prizes/2016/act/act-the-spirit-of-govhack-act.md new file mode 100644 index 0000000..64c81a0 --- /dev/null +++ b/_prizes/2016/act/act-the-spirit-of-govhack-act.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- canberra +gid: act-the-spirit-of-govhack-act +jurisdiction: act +name: The Spirit of GovHack ACT +organisation_title: GovHack +title: The Spirit of GovHack ACT +type: Spirit +--- + +Awarded to a particpant who demonstrate the best Govhack ethos + +# Prize +The winner is nominated as a finalist to receive the GovHack Spirit of ACT award, which is a Golden Ticket to the RedCarpet awards in adelaide on 22nd October, including flights and accomodation. + +# Eligibility Criteria +participant 18+ years old. The award is a finalist to receive the GovHack RedCarpet award State finlaist prize, which is a Goldent Ticket to the Redcarpet awards in adelaide including flights and accomodation. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-abc-news-content.md b/_prizes/2016/australia/australia-abc-news-content.md new file mode 100644 index 0000000..231b1b8 --- /dev/null +++ b/_prizes/2016/australia/australia-abc-news-content.md @@ -0,0 +1,45 @@ +--- +category: australia +gid: australia-abc-news-content +jurisdiction: australia +name: ABC News Content +organisation_title: ABC +organisations: +- abc +projects: +- greenu +- newspulse +- exploring-indigenous-over-representation-in-youth-detention +- krowdkwiz +- story-place +- australlite +- wynaut---historycal-picture-viewer +- newsexplo.re +- w_i_n_e +- on-the-spot +- opinion-matters +- mycity-in-virtual-reality +- search-party +- hawks-i +- mind-the-gapp +- walkaboutaus! +- flash-me! +- news-&-events-data-mashup +- factr +- beat-the-press +- truthbot +- farrago-parking +- threat.end +- critrs +- mysa +- portrait-landscape +title: ABC News Content +type: Bounty +--- + +Competitors are challenged to find new ways for as many Australian as possible to share and engage with ABC News Content. Bonus credit is given for the mash up of ABC and non-ABC data + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria \ No newline at end of file diff --git a/_prizes/2016/australia/australia-aihw-visualisation.md b/_prizes/2016/australia/australia-aihw-visualisation.md new file mode 100644 index 0000000..583cd02 --- /dev/null +++ b/_prizes/2016/australia/australia-aihw-visualisation.md @@ -0,0 +1,33 @@ +--- +category: australia +gid: australia-aihw-visualisation +jurisdiction: australia +name: AIHW Visualisation +organisation_title: AIHW +organisations: +- australian-institute-of-health-and-welfare +projects: +- stem,-australia +- exploring-indigenous-over-representation-in-youth-detention +- walks-of-life +- smart-asset-management +- mycity-in-virtual-reality +- data-for-social-change-update +- au-dashboard +- worldckans +- what-are-you-afraid-of +- flash-me! +- healthhack +- our-story-~-your-story +- -dash- +title: AIHW Visualisation +type: Bounty +--- + +Best application/visualisation telling a story using AIHW’s data either by itself or in combination with other data. + +# Prize +Award to the value of $1,000. + +# Eligibility Criteria +Must use an Australian Institute of Health and Welfare dataset. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-best-higher-education-teams.md b/_prizes/2016/australia/australia-best-higher-education-teams.md new file mode 100644 index 0000000..3a08dd7 --- /dev/null +++ b/_prizes/2016/australia/australia-best-higher-education-teams.md @@ -0,0 +1,18 @@ +--- +category: australia +gid: australia-best-higher-education-teams +jurisdiction: australia +name: Best Higher Education Teams +organisations: + - acquia +organisation_title: Acquia Australia +title: Best Higher Education Teams +type: Team +--- + +The best team of hackers where the majority of team members are in higher education. + +# Prize +Award value of $1,000 for 1st place and $500 for 2nd + +# Eligibility Criteria diff --git a/_prizes/2016/australia/australia-best-youth-teams.md b/_prizes/2016/australia/australia-best-youth-teams.md new file mode 100644 index 0000000..9978492 --- /dev/null +++ b/_prizes/2016/australia/australia-best-youth-teams.md @@ -0,0 +1,17 @@ +--- +category: australia +gid: australia-best-youth-teams +jurisdiction: australia +name: Best Youth Teams +organisation: dla-piper +organisation_title: DLA Piper +title: Best Youth Teams +type: Team +--- + +The best team of hackers where the majority of team members are under 18. + +# Prize +Award value of $1,000 for 1st place and $500 for 2nd + +# Eligibility Criteria diff --git a/_prizes/2016/australia/australia-commerically-viable-hack.md b/_prizes/2016/australia/australia-commerically-viable-hack.md new file mode 100644 index 0000000..1dd1a0e --- /dev/null +++ b/_prizes/2016/australia/australia-commerically-viable-hack.md @@ -0,0 +1,128 @@ +--- +category: australia +gid: australia-commerically-viable-hack +jurisdiction: australia +name: Commerically Viable Hack +organisation_title: Department of Finance +organisations: +- department-of-finance +projects: +- pathfinder +- campsites-tonight +- bizhack +- sweetspot +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- go-go-bus +- pokemon-trip +- breathe-easy +- vectoring-brisbane +- safetymeasur.es +- tour-de-chance +- aaya +- taxless:-optimising-your-tax-return +- home +- cross-roads +- párko +- wilsons-prom-go +- schrodingers-shark +- story-place +- australlite +- geo-spot +- tagger +- newsexplo.re +- mapping-sepsis +- your-local-opinion +- privé +- picspot +- paranormal-distribution +- a-century-of-intellectual-property +- go-explore-cbr +- ausémon +- qrester +- blockchain-digital-id +- sizzlerig +- agricultura +- edudrugs +- where-2-go +- datacake +- delugional +- on-the-spot +- de-identify-your-data-inc +- jerbsngrowth +- smart-asset-management +- mycity-in-virtual-reality +- touch +- fivemind +- perfect-catch +- tolls-boardgame +- ballaratgo +- piccohunt +- the-driving-angel +- do-you-know-australia +- ihero +- mytree +- mirai +- haidabloke +- parkachu +- search-party +- pedestimate +- hawks-i +- home-sweet-home +- scan,-process,-share,-recreate +- futurenow +- gaiaxplorers +- careermoveau +- touri +- walkaboutaus! +- transport-alert +- smart-parking-enhancements +- developr +- smarter-training +- find-my-future +- flash-me! +- open-invoicing +- pulse +- smartroads +- access-now +- qschools +- innovationx +- wheretonext +- pet-tential +- beat-the-press +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- r-u-open +- whats-up-brisbane +- fresh-plans +- crashwarning +- helping-hand +- farrago-parking +- tasmap.org +- biznamr.info +- critrs +- payparking.online +- unveil-the-scene +- codename:orbit +- local-hero +- mysa +- wilderness-buddy +- street-shark +- anaconda-dont +- future-proof +- disport +- splash +- life-explorer +- smart-sepsis-wa +- project-name-* +- find-my-toilet +- proximity +- cheap-rent-fast-net +title: Commerically Viable Hack +type: Bounty +--- + +The best hack with the most commercial potential. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria \ No newline at end of file diff --git a/_prizes/2016/australia/australia-community-resilience-hack.md b/_prizes/2016/australia/australia-community-resilience-hack.md new file mode 100644 index 0000000..db759ba --- /dev/null +++ b/_prizes/2016/australia/australia-community-resilience-hack.md @@ -0,0 +1,123 @@ +--- +category: australia +gid: australia-community-resilience-hack +jurisdiction: international +name: Community Resilience Hack +organisation_title: IAG & Bureau of Meteorology +organisations: +- iag +- bureau-of-meteorology +projects: +- pathfinder +- sydpark +- crikey!:-helping-your-community +- breathe-easy +- vectoring-brisbane +- greenu +- safetymeasur.es +- aaya +- exploring-indigenous-over-representation-in-youth-detention +- school-disaster-resilience +- walks-of-life +- flood-watch +- safenet +- wecare +- schrodingers-shark +- australlite +- geo-spot +- walksafe +- will-i-burn +- your-local-opinion +- dingopack +- bad-snakes +- sizzlerig +- firealert +- adelaide-smart-city-2020 +- edudrugs +- where-2-go +- datacake +- check-your-uglies +- delugional +- on-the-spot +- smart-asset-management +- mycity-in-virtual-reality +- touch +- the-transac-initiative +- state-engaged +- fivemind +- perfect-catch +- endless-bureaucracy +- hup-adelaide +- piccohunt +- the-driving-angel +- little-steps +- welcome,-my-new-neighbour! +- bringing-data-to-the-table +- au-dashboard +- community-companion +- ihero +- maphack +- search-party +- hawks-i +- mind-the-gapp +- careermoveau +- hazard-communication +- community-at-risk-assistance-&-response-(carar) +- crash-course +- unsung +- patented +- what-are-you-afraid-of +- flash-me! +- pulse +- huffless-n-puffless +- sydney-cbd-crime-analytics +- smartroads +- access-now +- wherizit +- wheretonext +- factr +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- birth-choices +- the-purple-rain-index +- r-u-open +- lettuce-be-friends +- go-park-yourself +- highway-to-the-dangerzone +- what-lives-here +- digihealth-plus +- legends-of-tomorrow +- accident-tracker +- codename:orbit +- help-me +- zr0data +- activesa +- street-shark +- immi-great +- gophergrader +- splash +- dank---royal-commission-into-family-violence +- aquadex +- first-names +- proximity +title: Community Resilience Hack +type: International +--- + +This category is about finding ways to help build resilience within our communities so they feel safe, connected and have the capacity to better adapt to changes. +What are some of the shocks and stresses that individuals and communities might experience? + +* A natural disaster, such as flash flooding, a cyclone, earthquake or bushfire +* High crime rates, such as frequent instances of property or car theft +* Home and contents damage from a house fire or water leak +* A car accident that might lead to injury and an insurance claim + +The Best Community Resilience Hack will be awarded to the hack that: + +* Best helps individuals, communities and governments understand what risks they face, and/or +* Enhances either the social support networks in a community and/or the physical assets required to reduce vulnerability and limit the financial and emotional impact of an event. + +# Prize +Award up to the value of $4,000 for 1st place and $2,000 for 2nd place + +# Eligibility Criteria +all Australian and New Zealand teams are eligible. Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-creative-humanities-hack.md b/_prizes/2016/australia/australia-creative-humanities-hack.md new file mode 100644 index 0000000..949ddb4 --- /dev/null +++ b/_prizes/2016/australia/australia-creative-humanities-hack.md @@ -0,0 +1,160 @@ +--- +category: australia +gid: australia-creative-humanities-hack +jurisdiction: australia +name: Creative Humanities Hack +organisation_title: ABC & Microsoft +organisations: +- abc +- microsoft-2 +projects: +- staying-the-course +- pathfinder +- campsites-tonight +- stem,-australia +- sydpark +- crikey!:-helping-your-community +- breathe-easy +- vectoring-brisbane +- negative-gearing-insight---are-you-one +- on-the-move +- smartpath +- location-location-location +- getthere +- greenu +- adelography---the-story-of-adelaide +- safetymeasur.es +- changing-gears +- newspulse +- aaya +- finding-forgotten-fauna +- taxless:-optimising-your-tax-return +- exploring-indigenous-over-representation-in-youth-detention +- school-disaster-resilience +- walks-of-life +- safenet +- home +- native-go +- cross-roads +- wecare +- wilsons-prom-go +- krowdkwiz +- story-place +- geo-spot +- wynaut---historycal-picture-viewer +- newsexplo.re +- will-i-burn +- your-local-opinion +- quickbus +- paranormal-distribution +- diis-project---jobs-and-growth +- bad-snakes +- wildsnap +- ausémon +- qrester +- sizzlerig +- edudrugs +- where-2-go +- check-your-uglies +- delugional +- on-the-spot +- smart-asset-management +- psychedelicprosthetic +- mycity-in-virtual-reality +- touch +- mother-nature +- data-for-social-change-update +- mapping-innovation---from-local-to-global-in-time-and-space +- endless-bureaucracy +- retirement-with-children +- tolls-boardgame +- 3d-printed-geophysical-data +- ch-ch-ch-changes-app +- the-driving-angel +- little-steps +- do-you-know-australia +- bringing-data-to-the-table +- au-dashboard +- ihero +- maphack +- mirai +- migrant-settlement-and-job-australia-data-visualiser +- cute-commies +- safety-tracker +- search-party +- cbr-heritage-data-team +- worldckans +- hawks-i +- scan,-process,-share,-recreate +- futurenow +- gaiaxplorers +- mind-the-gapp +- careermoveau +- touri +- walkaboutaus! +- transport-alert +- a-2-green +- fun-with-fossils +- mission:-attrition +- smarter-training +- patented +- find-my-future +- flash-me! +- going-out-today +- election-stitchup +- pulse +- grey-areas +- parradise +- sydney-cbd-crime-analytics +- access-now +- insolvency-in-qld-2013-2014 +- tribes +- question-time +- news-&-events-data-mashup +- pet-tential +- factr +- 3d-printed-visualization-of-the-health-of-the-great-barrier-reef +- beat-the-press +- edugate +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- birth-choices +- sweet-beginnings +- truthbot +- r-u-open +- pom-pom-pie-charts +- powering-australia +- digihealth-plus +- our-story-~-your-story +- legends-of-tomorrow +- critrs +- informed-personas +- unveil-the-scene +- help-me +- deconstructed-coffee-and-design---melbourne-hipster-index +- zr0data +- fossil-replication +- conviction-currents +- anaconda-dont +- portrait-landscape +- gophergrader +- rush-adventure +- splash +- dank---royal-commission-into-family-violence +- colourful-past +- put-a-bird-on-it +- project-name-* +- aquadex +- find-my-toilet +- proximity +title: Creative Humanities Hack +type: Major +--- + +This category is about celebrating creative representations of government data. Transforming raw information into something that is beautiful or more accessible to all. This could include data visualisation, art works, a game, 3d fun, craft, photo-art, interactive websites or anything else that explains, displays or makes the often complex array of information in government more understandable. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Entries must use at least 2 official dataset that are Open Government data . Video entries must explain how data is used and demonstrate progress of your creative hack over the competition weekend. +**please check your venue for restrictions using any art supplies or equipment** \ No newline at end of file diff --git a/_prizes/2016/australia/australia-data-intelligence-hack.md b/_prizes/2016/australia/australia-data-intelligence-hack.md new file mode 100644 index 0000000..abb783e --- /dev/null +++ b/_prizes/2016/australia/australia-data-intelligence-hack.md @@ -0,0 +1,134 @@ +--- +category: australia +gid: australia-data-intelligence-hack +jurisdiction: australia +name: Data Intelligence Hack (Data journalism, spatial modelling, analytics) +organisation_title: ATO & ABS +organisations: +- australian-taxation-office +- australian-bureau-of-statistics +projects: +- staying-the-course +- bizhack +- stem,-australia +- sweetspot +- boj---jobquilibrium +- ipgodmode +- traffic-jam +- breathe-easy +- vectoring-brisbane +- negative-gearing-insight---are-you-one +- adelography---the-story-of-adelaide +- safetymeasur.es +- newspulse +- taxless:-optimising-your-tax-return +- flood-watch +- home +- cross-roads +- wecare +- schrodingers-shark +- story-place +- startup-helper +- australlite +- geo-spot +- walksafe +- newsexplo.re +- will-i-burn +- paranormal-distribution +- diis-project---jobs-and-growth +- dont-crash +- a-century-of-intellectual-property +- manage-garbage +- ausémon +- smart-travel +- w_i_n_e +- sizzlerig +- where-2-go +- on-the-spot +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- jerbsngrowth +- smart-asset-management +- mycity-in-virtual-reality +- touch +- the-transac-initiative +- where-are-people-like-me-! +- fivemind +- data-for-social-change-update +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- displaying-living-appeal-for-location-seeking-immigrants +- the-driving-angel +- do-you-know-australia +- welcome,-my-new-neighbour! +- ihero +- maphack +- migrant-settlement-and-job-australia-data-visualiser +- wa-traffic-analysis +- haidabloke +- search-party +- pedestimate +- worldckans +- hawks-i +- futurenow +- gaiaxplorers +- insync +- careermoveau +- touri +- please-explain +- a-2-green +- developr +- smarter-training +- patented +- find-my-future +- flash-me! +- pulse +- sydney-cbd-crime-analytics +- access-now +- qschools +- insolvency-in-qld-2013-2014 +- innovationx +- qld-fire-warden +- pet-tential +- beat-the-press +- edugate +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- truthbot +- climate-flow +- crashwarning +- helping-hand +- pom-pom-pie-charts +- tasmap.org +- highway-to-the-dangerzone +- digihealth-plus +- informed-personas +- unveil-the-scene +- codename:orbit +- deconstructed-coffee-and-design---melbourne-hipster-index +- zr0data +- local-hero +- mysa +- wilderness-buddy +- anaconda-dont +- future-proof +- immi-great +- dank---royal-commission-into-family-violence +- colourful-past +- put-a-bird-on-it +- project-name-* +- aquadex +- find-my-toilet +- proximity +- cheap-rent-fast-net +title: Data Intelligence Hack (Data journalism, spatial modelling, analytics) +type: Major +--- + +This category is all about using government data to optimize business decisions. +What data intelligence can you derive from official data that would be of value to a business? Can you help industry plan, predict or model future perspectives? Perhaps you can build a tool that helps startups understand the available data and make better business decisions? Maybe you have an idea that will help business solve a problem. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd. + +# Eligibility Criteria +Teams must use at least 2 official datasets that are Open Government data \ No newline at end of file diff --git a/_prizes/2016/australia/australia-entrepreneurial-hack.md b/_prizes/2016/australia/australia-entrepreneurial-hack.md new file mode 100644 index 0000000..3e30603 --- /dev/null +++ b/_prizes/2016/australia/australia-entrepreneurial-hack.md @@ -0,0 +1,121 @@ +--- +category: australia +gid: australia-entrepreneurial-hack +jurisdiction: australia +name: Entrepreneurial Hack +organisation_title: IP Australia & IBM +organisations: +- ip-australia +- ibm +projects: +- pathfinder +- campsites-tonight +- bizhack +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- pokemon-trip +- ipgodmode +- breathe-easy +- vectoring-brisbane +- safetymeasur.es +- tour-de-chance +- aaya +- taxless:-optimising-your-tax-return +- home +- cross-roads +- wecare +- wilsons-prom-go +- schrodingers-shark +- startup-helper +- australlite +- geo-spot +- your-local-opinion +- privé +- picspot +- paranormal-distribution +- dingopack +- a-century-of-intellectual-property +- go-explore-cbr +- child-tracker +- ausémon +- coffee-is-life +- qrester +- blockchain-digital-id +- sizzlerig +- adelaide-smart-city-2020 +- where-2-go +- datacake +- on-the-spot +- de-identify-your-data-inc +- jerbsngrowth +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- touch +- fivemind +- perfect-catch +- tolls-boardgame +- ballaratgo +- the-driving-angel +- do-you-know-australia +- au-dashboard +- ihero +- mytree +- haidabloke +- pedestimate +- hawks-i +- futurenow +- gaiaxplorers +- careermoveau +- touri +- walkaboutaus! +- transport-alert +- a-2-green +- unsung +- developr +- smarter-training +- flash-me! +- open-invoicing +- pulse +- smartroads +- access-now +- qschools +- innovationx +- wheretonext +- qld-fire-warden +- pet-tential +- smart-moves-logan +- beat-the-press +- edugate +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- the-purple-rain-index +- r-u-open +- fresh-plans +- helping-hand +- tasmap.org +- transforma +- biznamr.info +- learngo +- critrs +- payparking.online +- unveil-the-scene +- codename:orbit +- local-hero +- mysa +- wilderness-buddy +- street-shark +- anaconda-dont +- disport +- splash +- life-explorer +- proximity +title: Entrepreneurial Hack +type: Major +--- + +The project that has most potential as a startup or business. The hack would need to describe on the project page and video pitch how the team considers it entrepreneurial and how they have reused data. For instance how it could be commercialised, how it solves a market need, is the ideas scalable to bigger markets and how there might be a business to build around the idea. + +# Prize +Award up to the value of $4,000 for 1st place and $2,000 for 2nd place + +# Eligibility Criteria +Must use at least two Official GovHack Datasets. Open Government data must be used. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-exploring-underground.md b/_prizes/2016/australia/australia-exploring-underground.md new file mode 100644 index 0000000..a496180 --- /dev/null +++ b/_prizes/2016/australia/australia-exploring-underground.md @@ -0,0 +1,30 @@ +--- +category: australia +gid: australia-exploring-underground +jurisdiction: australia +name: Exploring Underground +organisation_title: Geoscience Australia +organisations: +- geoscience-australia +projects: +- vectoring-brisbane +- smart-asset-management +- mycity-in-virtual-reality +- 3d-printed-geophysical-data +- the-driving-angel +- touri +- flash-me! +- healthhack +- anaconda-dont +- aquadex +title: Exploring Underground +type: Bounty +--- + +The most creative and exciting use of our subsurface data. We have this really cool data about what’s going on underground: Help us figure out a new fun way to explore it! + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Dependencies – Use of Geoscience Australia subsurface data \ No newline at end of file diff --git "a/_prizes/2016/australia/australia-fresh-data-hack-(api\342\200\231s-and-data-services).md" "b/_prizes/2016/australia/australia-fresh-data-hack-(api\342\200\231s-and-data-services).md" new file mode 100644 index 0000000..0afae84 --- /dev/null +++ "b/_prizes/2016/australia/australia-fresh-data-hack-(api\342\200\231s-and-data-services).md" @@ -0,0 +1,127 @@ +--- +category: australia +gid: australia-fresh-data-hack-(api’s-and-data-services) +jurisdiction: australia +name: Fresh Data Hack (APIs and Data Services) +organisation_title: ABR & Department of Industry, Innovation and Science +organisations: +- australian-business-register +- department-of-industry-innovation-and-science +projects: +- stem,-australia +- hackanation +- pokemon-trip +- sydpark +- boj---jobquilibrium +- traffic-jam +- crikey!:-helping-your-community +- health-hack +- negative-gearing-insight---are-you-one +- location-location-location +- john-conner +- newspulse +- school-disaster-resilience +- flood-watch +- safenet +- home +- native-go +- schrodingers-shark +- geo-spot +- walksafe +- wynaut---historycal-picture-viewer +- newsexplo.re +- will-i-burn +- weather-balls +- quickbus +- a-century-of-intellectual-property +- parks-finder +- ausémon +- smart-travel +- w_i_n_e +- sizzlerig +- firealert +- where-2-go +- datacake +- on-the-spot +- spokesocial +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- touch +- mother-nature +- the-transac-initiative +- evacumate +- fivemind +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- tolls-boardgame +- ballaratgo +- piccohunt +- the-driving-angel +- do-you-know-australia +- eventsa +- wa-traffic-analysis +- haidabloke +- parkachu +- search-party +- worldckans +- hawks-i +- home-sweet-home +- futurenow +- gaiaxplorers +- careermoveau +- touri +- walkaboutaus! +- air-bubble +- transport-alert +- a-2-green +- smart-parking-enhancements +- hazard-communication +- the-good-old-life +- community-at-risk-assistance-&-response-(carar) +- developr +- flash-me! +- going-out-today +- open-invoicing +- wherizit +- qld-fire-warden +- news-&-events-data-mashup +- factr +- beat-the-press +- time-walks +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- birth-choices +- truthbot +- the-purple-rain-index +- whats-up-brisbane +- climate-flow +- fresh-plans +- helping-hand +- tasmap.org +- what-lives-here +- biznamr.info +- threat.end +- learngo +- legends-of-tomorrow +- accident-tracker +- informed-personas +- time2go +- unveil-the-scene +- street-shark +- anaconda-dont +- future-proof +- life-explorer +- walked +- colourful-past +- find-my-toilet +title: Fresh Data Hack (APIs and Data Services) +type: Major +--- + +Fresh data is the best! This category is about creating concepts that access automatically refreshed data. Data used must be automatically refreshed through an API, data service, web-service or even a regular FTP data refresh. Your concept must include a regular refresh of data to update content. This is your opportunity to show how data that is current and refreshed can provide a more valuable and reliable community service. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +You must use an Official Dataset that is Open Government data and is released through an API or data service \ No newline at end of file diff --git a/_prizes/2016/australia/australia-future-australia-hack.md b/_prizes/2016/australia/australia-future-australia-hack.md new file mode 100644 index 0000000..e8a535e --- /dev/null +++ b/_prizes/2016/australia/australia-future-australia-hack.md @@ -0,0 +1,95 @@ +--- +category: australia +gid: australia-future-australia-hack +jurisdiction: australia +name: Future Australia Hack +organisation_title: Department of Education & Department of Employment +organisations: +- department-of-education-and-training +- department-of-employment +projects: +- bizhack +- stem,-australia +- boj---jobquilibrium +- breathe-easy +- aaya +- smartcare-innovations-hub +- cross-roads +- australia-go! +- wecare +- australlite +- geo-spot +- walksafe +- paranormal-distribution +- diis-project---jobs-and-growth +- dont-crash +- a-century-of-intellectual-property +- go-explore-cbr +- child-tracker +- 5-d-city-explorer +- coffee-is-life +- blockchain-digital-id +- adelaide-smart-city-2020 +- datacake +- check-your-uglies +- on-the-spot +- jerbsngrowth +- mycity-in-virtual-reality +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- displaying-living-appeal-for-location-seeking-immigrants +- the-grid +- the-driving-angel +- welcome,-my-new-neighbour! +- au-dashboard +- mytree +- mirai +- migrant-settlement-and-job-australia-data-visualiser +- safety-tracker +- search-party +- insync +- mind-the-gapp +- careermoveau +- touri +- $treetcred +- unsung +- smarter-training +- patented +- find-my-future +- flash-me! +- open-invoicing +- grey-areas +- access-now +- innovationx +- pet-tential +- factr +- beat-the-press +- edugate +- crashwarning +- helping-hand +- highway-to-the-dangerzone +- legends-of-tomorrow +- informed-personas +- education-hub +- unveil-the-scene +- codename:orbit +- zr0data +- mysa +- future-proof +- disport +- project-name-* +- aquadex +- find-my-toilet +- proximity +title: Future Australia Hack +type: Major +--- + +This category is all about the challenges faced by Australia’s future workforce. Based on current trends what will the workforce landscape look like in 2030? Can you help the next generation take advantage of opportunities? What is the changing face of industry and skills that Australia needs to take stock off. Can your analysis of data help inform policy direction for a prosperous future? Perhaps you can help educate parents of today about the future of tomorrow. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-hiding-wally.md b/_prizes/2016/australia/australia-hiding-wally.md new file mode 100644 index 0000000..9a27039 --- /dev/null +++ b/_prizes/2016/australia/australia-hiding-wally.md @@ -0,0 +1,29 @@ +--- +category: australia +gid: australia-hiding-wally +jurisdiction: australia +name: Hiding Wally +organisation_title: Queensland Government +organisations: +- queensland-government-2 +projects: +- privé +- blockchain-digital-id +- de-identify-your-data-inc +- mycity-in-virtual-reality +- perfect-catch +- haidabloke +- flash-me! +- zr0data +- daaasgüd +title: Hiding Wally +type: Bounty +--- + +There are privacy concerns associated with the publishing of datasets containing the data of identifiable individuals. De-identification methodologies can be laborious or complex and are often a barrier to sharing data. Governments are worrired about the Mosaic Effect. Can you help Governments solve this problem? + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Any dataset that has identifying attributes that is discoverable on data.qld.gov.au \ No newline at end of file diff --git a/_prizes/2016/australia/australia-iag-flood-risk.md b/_prizes/2016/australia/australia-iag-flood-risk.md new file mode 100644 index 0000000..0b2d83f --- /dev/null +++ b/_prizes/2016/australia/australia-iag-flood-risk.md @@ -0,0 +1,42 @@ +--- +category: australia +gid: australia-iag-flood-risk +jurisdiction: australia +name: IAG Flood Risk +organisation_title: IAG +organisations: +- iag +projects: +- greenu +- safetymeasur.es +- aaya +- flood-watch +- safenet +- dingopack +- dont-crash +- where-2-go +- delugional +- smart-asset-management +- mycity-in-virtual-reality +- evacumate +- perfect-catch +- disaster-watch +- hawks-i +- hazard-communication +- community-at-risk-assistance-&-response-(carar) +- developr +- flash-me! +- the-purple-rain-index +- highway-to-the-dangerzone +- proximity +title: IAG Flood Risk +type: Bounty +--- + +This bounty will be awarded for the most innovative use of IAG Flood Risk Data, using either the API and/or datasets provided. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Use of IAG Flood Risk dataset. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-innovative-ideas-hack.md b/_prizes/2016/australia/australia-innovative-ideas-hack.md new file mode 100644 index 0000000..fa64aa9 --- /dev/null +++ b/_prizes/2016/australia/australia-innovative-ideas-hack.md @@ -0,0 +1,158 @@ +--- +category: australia +gid: australia-innovative-ideas-hack +jurisdiction: australia +name: Innovative Ideas Hack +organisation_title: AFSA & Queensland Government +organisations: +- australian-financial-security-authority +- queensland-government-2 +projects: +- project-trident +- campsites-tonight +- stem,-australia +- go-go-bus +- pokemon-trip +- sydpark +- traffic-jam +- breathe-easy +- parkingmon-go +- health-hack +- tour-de-chance +- aaya +- taxless:-optimising-your-tax-return +- school-disaster-resilience +- home +- native-go +- cross-roads +- wecare +- párko +- wilsons-prom-go +- schrodingers-shark +- story-place +- air-adventure!!! +- australlite +- geo-spot +- tagger +- walksafe +- newsexplo.re +- weather-balls +- your-local-opinion +- picspot +- paranormal-distribution +- dont-crash +- explore-the-great-barrier-reef +- a-century-of-intellectual-property +- go-explore-cbr +- wildsnap +- manage-garbage +- ausémon +- 5-d-city-explorer +- coffee-is-life +- smart-travel +- qrester +- w_i_n_e +- blockchain-digital-id +- sizzlerig +- adelaide-smart-city-2020 +- where-2-go +- datacake +- mentalhelp-application +- check-your-uglies +- on-the-spot +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- jerbsngrowth +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- touch +- mother-nature +- evacumate +- fivemind +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- disaster-watch +- retirement-with-children +- tolls-boardgame +- the-grid +- the-driving-angel +- snap-ranger +- welcome,-my-new-neighbour! +- censusme +- ihero +- mytree +- haidabloke +- safety-tracker +- foster-innovation-to-drive-safer-communities +- fish-r-us +- search-party +- pedestimate +- hawks-i +- home-sweet-home +- scan,-process,-share,-recreate +- gaiaxplorers +- insync +- careermoveau +- touri +- air-bubble +- transport-alert +- a-2-green +- hazard-communication +- unsung +- developr +- smarter-training +- flash-me! +- election-stitchup +- open-invoicing +- pulse +- smartroads +- access-now +- innovationx +- wherizit +- factr +- beat-the-press +- edugate +- time-walks +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- birth-choices +- truthbot +- r-u-open +- climate-flow +- fresh-plans +- crashwarning +- helping-hand +- what-lives-here +- digihealth-plus +- legends-of-tomorrow +- accident-tracker +- payparking.online +- informed-personas +- education-hub +- unveil-the-scene +- help-me +- local-hero +- 3d-printed-tactile-map-of-melbourne-cbd-tram-stops-for-visually-impaired-commuters. +- mysa +- -dash- +- anaconda-dont +- disport +- splash +- walked +- daaasgüd +- colourful-past +- project-name-* +- aquadex +- find-my-toilet +- proximity +title: Innovative Ideas Hack +type: Major +--- + +Do you have an innovative idea that is powered by data? Digital disruption is changing the way we do things, Intrigued by Internet of Things (IoT) and Smart cities? Are you loving some new technology you want to play with? Can you science the heck out of data? Maybe you like tinkering with sensors or microprocessors? This category is where disruptors, innovators and makers can shine. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Innovation entries must be driven by, react to or be inspired by official open data that is Open Government data \ No newline at end of file diff --git a/_prizes/2016/australia/australia-inspired-by-research-hack.md b/_prizes/2016/australia/australia-inspired-by-research-hack.md new file mode 100644 index 0000000..cc58206 --- /dev/null +++ b/_prizes/2016/australia/australia-inspired-by-research-hack.md @@ -0,0 +1,107 @@ +--- +category: australia +gid: australia-inspired-by-research-hack +jurisdiction: australia +name: Inspired by Research Hack +organisation_title: DATA61 & AIHW +organisations: +- data-61 +- australian-institute-of-health-and-welfare +projects: +- stem,-australia +- sweetspot +- sydpark +- breathe-easy +- negative-gearing-insight---are-you-one +- on-the-move +- john-conner +- changing-gears +- finding-forgotten-fauna +- exploring-indigenous-over-representation-in-youth-detention +- smartcare-innovations-hub +- walks-of-life +- safenet +- home +- wilsons-prom-go +- schrodingers-shark +- story-place +- geo-spot +- walksafe +- will-i-burn +- paranormal-distribution +- dingopack +- dont-crash +- a-century-of-intellectual-property +- manage-garbage +- qrester +- w_i_n_e +- sizzlerig +- edudrugs +- where-2-go +- datacake +- check-your-uglies +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- touch +- mother-nature +- data-for-social-change-update +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- disaster-watch +- the-grid +- the-driving-angel +- snap-ranger +- little-steps +- do-you-know-australia +- ihero +- migrant-settlement-and-job-australia-data-visualiser +- foster-innovation-to-drive-safer-communities +- hawks-i +- home-sweet-home +- scan,-process,-share,-recreate +- futurenow +- gaiaxplorers +- insync +- touri +- walkaboutaus! +- unsung +- smarter-training +- flash-me! +- tribes +- qld-fire-warden +- news-&-events-data-mashup +- beat-the-press +- edugate +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- pom-pom-pie-charts +- powering-australia +- highway-to-the-dangerzone +- threat.end +- digihealth-plus +- legends-of-tomorrow +- critrs +- unveil-the-scene +- codename:orbit +- deconstructed-coffee-and-design---melbourne-hipster-index +- local-hero +- -dash- +- immi-great +- dank---royal-commission-into-family-violence +- colourful-past +- put-a-bird-on-it +- project-name-* +- aquadex +- find-my-toilet +- proximity +title: Inspired by Research Hack +type: Major +--- + +This category encourages you to explore, mashup and reuse the rich sources of research data from our official dataset list. Pick your favorite topic of interest and delve into a fascinating world of facts figures. Mash up and reuse the research data to inspire new ideas, engage the community in findings or provide insights. Entries that inspire greater support for open research will hit a positive note with a judge or two. Or perhaps you will discover and share differences in open research data across institutions, states and even countries. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-ip-rights.md b/_prizes/2016/australia/australia-ip-rights.md new file mode 100644 index 0000000..d3c6c7c --- /dev/null +++ b/_prizes/2016/australia/australia-ip-rights.md @@ -0,0 +1,32 @@ +--- +category: australia +gid: australia-ip-rights +jurisdiction: australia +name: IP Rights +organisation_title: IP Australia +organisations: +- ip-australia +projects: +- ipgodmode +- paranormal-distribution +- a-century-of-intellectual-property +- innovation-where +- mycity-in-virtual-reality +- mapping-innovation---from-local-to-global-in-time-and-space +- hubgap +- patented +- flash-me! +- innovationx +- news-&-events-data-mashup +- deconstructed-coffee-and-design---melbourne-hipster-index +title: IP Rights +type: Bounty +--- + +Best visualisation for applicants (IPGOD x02 tables), and/or agents (IPGOD x06 tables) or both, to view IP Rights. Think of features or enhancements such as next actions or status tracking etc + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +(IPGOD x02 tables), (IPGOD x06 tables) \ No newline at end of file diff --git a/_prizes/2016/australia/australia-local-industry-activity.md b/_prizes/2016/australia/australia-local-industry-activity.md new file mode 100644 index 0000000..62cd55d --- /dev/null +++ b/_prizes/2016/australia/australia-local-industry-activity.md @@ -0,0 +1,65 @@ +--- +category: australia +gid: australia-local-industry-activity +jurisdiction: australia +name: Local Industry Activity +organisation_title: Department of Industry +organisations: +- department-of-industry-innovation-and-science +projects: +- bizhack +- breathe-easy +- vectoring-brisbane +- on-the-move +- startup-helper +- geo-spot +- paranormal-distribution +- diis-project---jobs-and-growth +- dont-crash +- a-century-of-intellectual-property +- coffee-is-life +- w_i_n_e +- agricultura +- where-2-go +- datacake +- check-your-uglies +- jerbsngrowth +- mycity-in-virtual-reality +- perfect-catch +- endless-bureaucracy +- the-grid +- the-driving-angel +- mytree +- mirai +- migrant-settlement-and-job-australia-data-visualiser +- careermoveau +- smarter-training +- find-my-future +- flash-me! +- smartroads +- access-now +- innovationx +- edugate +- r-u-open +- helping-hand +- tasmap.org +- education-hub +- codename:orbit +- deconstructed-coffee-and-design---melbourne-hipster-index +- local-hero +- mysa +- -dash- +- future-proof +- disport +- aquadex +title: Local Industry Activity +type: Bounty +--- + +Using datasets from Employment, Education and Industry, and any other suitable datasets, analyse whether people are training and/or retraining to respond to changes in local industry activity and labour markets +Hint: Consider the benefit of this information for jobseekers + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria \ No newline at end of file diff --git a/_prizes/2016/australia/australia-location-data.md b/_prizes/2016/australia/australia-location-data.md new file mode 100644 index 0000000..eb638ba --- /dev/null +++ b/_prizes/2016/australia/australia-location-data.md @@ -0,0 +1,172 @@ +--- +category: australia +gid: australia-location-data +jurisdiction: australia +name: Location Data +organisation_title: PSMA +organisations: +- psma +projects: +- campsites-tonight +- stem,-australia +- go-go-bus +- tchke +- sydpark +- fun-run-cbr +- binthere +- crikey!:-helping-your-community +- breathe-easy +- parkingmon-go +- vectoring-brisbane +- health-hack +- smartpath +- location-location-location +- greenu +- adelography---the-story-of-adelaide +- safetymeasur.es +- tour-de-chance +- changing-gears +- finding-forgotten-fauna +- school-disaster-resilience +- smartcare-innovations-hub +- flood-watch +- home +- cross-roads +- australia-go! +- wilsons-prom-go +- story-place +- australlite +- geo-spot +- walksafe +- wynaut---historycal-picture-viewer +- mapping-sepsis +- your-local-opinion +- quickbus +- picspot +- dingopack +- explore-the-great-barrier-reef +- a-century-of-intellectual-property +- go-explore-cbr +- parks-finder +- manage-garbage +- ausémon +- coffee-is-life +- smart-travel +- qrester +- w_i_n_e +- edstat +- sizzlerig +- agricultura +- firealert +- adelaide-smart-city-2020 +- mentalhelp-application +- on-the-spot +- spokesocial +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- state-engaged +- where-are-people-like-me-! +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- disaster-watch +- displaying-living-appeal-for-location-seeking-immigrants +- tolls-boardgame +- rest-stop-finder +- ballaratgo +- piccohunt +- the-driving-angel +- do-you-know-australia +- welcome,-my-new-neighbour! +- bringing-data-to-the-table +- community-companion +- mytree +- maphack +- migrant-settlement-and-job-australia-data-visualiser +- safety-tracker +- parkachu +- fish-r-us +- search-party +- direct-me +- pedestimate +- hawks-i +- home-sweet-home +- futurenow +- gaiaxplorers +- insync +- careermoveau +- touri +- please-explain +- transport-alert +- a-2-green +- $treetcred +- smart-parking-enhancements +- the-good-old-life +- crash-course +- unsung +- developr +- flash-me! +- going-out-today +- pulse +- grey-areas +- parradise +- sydney-cbd-crime-analytics +- smartroads +- access-now +- qschools +- insolvency-in-qld-2013-2014 +- innovationx +- tribes +- question-time +- wherizit +- qld-fire-warden +- news-&-events-data-mashup +- pet-tential +- time-walks +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- the-purple-rain-index +- r-u-open +- whats-up-brisbane +- climate-flow +- fresh-plans +- crashwarning +- helping-hand +- farrago-parking +- tasmap.org +- next-bus +- highway-to-the-dangerzone +- transforma +- learngo +- legends-of-tomorrow +- accident-tracker +- critrs +- payparking.online +- help-me +- deconstructed-coffee-and-design---melbourne-hipster-index +- local-hero +- mysa +- street-shark +- anaconda-dont +- disport +- gophergrader +- splash +- life-explorer +- smart-sepsis-wa +- walked +- dank---royal-commission-into-family-violence +- aquadex +- find-my-toilet +- proximity +title: Location Data +type: Bounty +--- + +The most innovative hack of location data. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Dependencies – Use of PSMA’s datasets: GNAF, Administrative Boundaries and/or Geoscape \ No newline at end of file diff --git a/_prizes/2016/australia/australia-machine-learning-hack.md b/_prizes/2016/australia/australia-machine-learning-hack.md new file mode 100644 index 0000000..bd70aa1 --- /dev/null +++ b/_prizes/2016/australia/australia-machine-learning-hack.md @@ -0,0 +1,76 @@ +--- +category: australia +gid: australia-machine-learning-hack +jurisdiction: international +name: Machine Learning Hack +organisation_title: Google +organisations: +- google +projects: +- boj---jobquilibrium +- ipgodmode +- negative-gearing-insight---are-you-one +- on-the-move +- taxless:-optimising-your-tax-return +- home +- geo-spot +- newsexplo.re +- will-i-burn +- privé +- a-century-of-intellectual-property +- parks-finder +- qrester +- sizzlerig +- where-2-go +- jerbsngrowth +- opinion-matters +- smart-asset-management +- mycity-in-virtual-reality +- the-transac-initiative +- fivemind +- perfect-catch +- the-driving-angel +- welcome,-my-new-neighbour! +- ihero +- maphack +- haidabloke +- cbr-heritage-data-team +- worldckans +- hawks-i +- home-sweet-home +- futurenow +- touri +- walkaboutaus! +- developr +- patented +- flash-me! +- pulse +- qschools +- insolvency-in-qld-2013-2014 +- factr +- beat-the-press +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- truthbot +- education-hub +- unveil-the-scene +- help-me +- mysa +- anaconda-dont +- portrait-landscape +- colourful-past +- project-name-* +- aquadex +- find-my-toilet +title: Machine Learning Hack +type: International +--- + +We are in the age of machine learning! From IBM's awesome Watson "Machine Learning as a Service", to Google's DeepDream and TensorFlow, and Facebook’s M. The past year has seen the release of many great machine learning tools and software libraries that are enabling machine learning to spread beyond the academic sphere into the hands of mere mortal programmer and analysts. We know government has some great 'big' datasets that might feed a machine learning problem - be that purely a measure of a dataset’s size, longitudinal data spanning decades, or de-identified unit record level data. + +Think about a wicked problem that you could apply machine learning to, have a look at the data that's available, and get creative. You might uncover some new insight for policy makers and make Australia a better place, or maybe you'll just make an app for identifying Australian wildlife from a photo. Let's find out! + +# Prize +Award up to the value of $4,000 for 1st place and $2,000 for 2nd place + +# Eligibility Criteria +all Australian and New Zealand teams are eligible. Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-ncris-data.md b/_prizes/2016/australia/australia-ncris-data.md new file mode 100644 index 0000000..04fb869 --- /dev/null +++ b/_prizes/2016/australia/australia-ncris-data.md @@ -0,0 +1,35 @@ +--- +category: australia +gid: australia-ncris-data +jurisdiction: australia +name: NCRIS Data +organisation_title: NCRIS +organisations: +- ncris-research-data-and-infrastructure-group +projects: +- stem,-australia +- schrodingers-shark +- ausémon +- w_i_n_e +- smart-asset-management +- mycity-in-virtual-reality +- data-for-social-change-update +- perfect-catch +- ihero +- gaiaxplorers +- insync +- developr +- flash-me! +- threat.end +- critrs +title: NCRIS Data +type: Bounty +--- + +The most innovative use of NCRIS data collections and infrastructure. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +NCRIS data \ No newline at end of file diff --git a/_prizes/2016/australia/australia-new-infrastructure.md b/_prizes/2016/australia/australia-new-infrastructure.md new file mode 100644 index 0000000..ad501fa --- /dev/null +++ b/_prizes/2016/australia/australia-new-infrastructure.md @@ -0,0 +1,47 @@ +--- +category: australia +gid: australia-new-infrastructure +jurisdiction: australia +name: New Infrastructure +organisation_title: ABR +organisations: +- australian-business-register +projects: +- sweetspot +- dont-crash +- smart-travel +- adelaide-smart-city-2020 +- smart-asset-management +- mycity-in-virtual-reality +- the-transac-initiative +- state-engaged +- mapping-innovation---from-local-to-global-in-time-and-space +- the-driving-angel +- au-dashboard +- futurenow +- insync +- touri +- developr +- flash-me! +- open-invoicing +- access-now +- fresh-plans +- tasmap.org +- highway-to-the-dangerzone +- zr0data +- disport +- splash +- find-my-toilet +title: New Infrastructure +type: Bounty +--- + +To Determine the impacts and/or opportunities of a proposed or approved new infrastructure. +This could be the impact on the existing community and/or business. It could inform government and/or business decision making. +Examples that could be used, but are not limited to, include: Light rail Gold Coast, Light rail Canberra, Light rail Sydney; Proposed second airport Sydney, Proposed Freeway bypass + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Combine Australian Business Register (ABR) data with other publicly available datasets \ No newline at end of file diff --git a/_prizes/2016/australia/australia-no-boundaries-data-hack.md b/_prizes/2016/australia/australia-no-boundaries-data-hack.md new file mode 100644 index 0000000..ec7c85b --- /dev/null +++ b/_prizes/2016/australia/australia-no-boundaries-data-hack.md @@ -0,0 +1,94 @@ +--- +category: australia +gid: australia-no-boundaries-data-hack +jurisdiction: australia +name: No Boundaries Data Hack +organisation_title: Geoscience Australia & PSMA Australia +organisations: +- geoscience-australia +- psma +projects: +- crikey!:-helping-your-community +- breathe-easy +- vectoring-brisbane +- greenu +- tour-de-chance +- safenet +- australia-go! +- krowdkwiz +- story-place +- geo-spot +- walksafe +- wynaut---historycal-picture-viewer +- your-local-opinion +- a-century-of-intellectual-property +- manage-garbage +- ausémon +- w_i_n_e +- sizzlerig +- agricultura +- firealert +- adelaide-smart-city-2020 +- where-2-go +- mentalhelp-application +- on-the-spot +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- jerbsngrowth +- smart-asset-management +- mycity-in-virtual-reality +- fivemind +- data-for-social-change-update +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- disaster-watch +- displaying-living-appeal-for-location-seeking-immigrants +- 3d-printed-geophysical-data +- the-driving-angel +- do-you-know-australia +- au-dashboard +- ihero +- maphack +- safety-tracker +- worldckans +- hawks-i +- home-sweet-home +- scan,-process,-share,-recreate +- gaiaxplorers +- insync +- careermoveau +- touri +- smarter-training +- what-are-you-afraid-of +- flash-me! +- insolvency-in-qld-2013-2014 +- wherizit +- news-&-events-data-mashup +- beat-the-press +- edugate +- time-walks +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- climate-flow +- fresh-plans +- helping-hand +- transforma +- digihealth-plus +- legends-of-tomorrow +- critrs +- unveil-the-scene +- conviction-currents +- splash +- walked +- colourful-past +- project-name-* +title: No Boundaries Data Hack +type: Major +--- + +This category is about using data from multiple states and territories to unlock the value of data across our borders to understand If you think this is just a map, think again. Winning entries will seek to anlayse information and deliver location intelligence. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Teams must demonstrate how they have used Official Datasets from at least 3 different state or territories in their concept. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-paddock-to-plate-hack.md b/_prizes/2016/australia/australia-paddock-to-plate-hack.md new file mode 100644 index 0000000..50ea281 --- /dev/null +++ b/_prizes/2016/australia/australia-paddock-to-plate-hack.md @@ -0,0 +1,35 @@ +--- +category: australia +gid: australia-paddock-to-plate-hack +jurisdiction: australia +name: Paddock to Plate Hack +organisation_title: NCRIS & Department of Infrastructure & Regional Development +organisations: +- ncris-research-data-and-infrastructure-group +- department-of-infrastructure-and-regional-development +projects: +- stem,-australia +- john-conner +- greenu +- violet-pipe-dreams +- w_i_n_e +- sizzlerig +- agricultura +- jerbsngrowth +- mycity-in-virtual-reality +- fivemind +- careermoveau +- flash-me! +- climate-flow +- lettuce-be-friends +title: Paddock to Plate Hack +type: Major +--- + +This category is all about Australia’s paddock to plate industries. Can you discover insights about Australia’s farming, transport, produce, and exports industries? What opportunities exist? Can we harness environmental data to support premium crops? Perhaps you can connect farmers with markets. Concepts could support regional development and communities to support our agriculture communities. How do we spread the word about premium exports or solve wicked infrastructure challenges. Anything goes as long as is supports paddock to plate industries. + +# Prize +Award up to the value of $2,000 for 1st place and $1,000 for 2nd + +# Eligibility Criteria +Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-securing-personal-property.md b/_prizes/2016/australia/australia-securing-personal-property.md new file mode 100644 index 0000000..f9db903 --- /dev/null +++ b/_prizes/2016/australia/australia-securing-personal-property.md @@ -0,0 +1,28 @@ +--- +category: australia +gid: australia-securing-personal-property +jurisdiction: australia +name: Securing Personal Property +organisation_title: AFSA +organisations: +- australian-financial-security-authority +projects: +- crikey!:-helping-your-community +- vectoring-brisbane +- walksafe +- mycity-in-virtual-reality +- perfect-catch +- flash-me! +- parradise +- go-park-yourself +- future-proof +title: Securing Personal Property +type: Bounty +--- + +Surprise us! Most interesting representation/visualisation to highlight stories/insights from the data! Mash-up with other data to show the Personal Property Securities Register's (PPSR) role/value in the economy! + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria \ No newline at end of file diff --git a/_prizes/2016/australia/australia-smarter-data.md b/_prizes/2016/australia/australia-smarter-data.md new file mode 100644 index 0000000..dd42d47 --- /dev/null +++ b/_prizes/2016/australia/australia-smarter-data.md @@ -0,0 +1,69 @@ +--- +category: australia +gid: australia-smarter-data +jurisdiction: australia +name: Smarter Data +organisation_title: ATO +organisations: +- australian-taxation-office +projects: +- stem,-australia +- parkingmon-go +- negative-gearing-insight---are-you-one +- changing-gears +- taxless:-optimising-your-tax-return +- home +- cross-roads +- geo-spot +- walksafe +- a-century-of-intellectual-property +- smart-travel +- blockchain-digital-id +- agricultura +- adelaide-smart-city-2020 +- check-your-uglies +- on-the-spot +- jerbsngrowth +- smart-asset-management +- mycity-in-virtual-reality +- where-are-people-like-me-! +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- endless-bureaucracy +- piccohunt +- the-driving-angel +- welcome,-my-new-neighbour! +- mirai +- haidabloke +- parkachu +- worldckans +- careermoveau +- developr +- smarter-training +- flash-me! +- open-invoicing +- access-now +- insolvency-in-qld-2013-2014 +- r-u-open +- crashwarning +- farrago-parking +- tasmap.org +- education-hub +- local-hero +- mysa +- -dash- +- future-proof +- disport +- immi-great +title: Smarter Data +type: Bounty +--- + +The challenge is to find new ways to interrogate the ATO Dataset and help people with little or no statistical background better understand the effect of ATO data on other things. In particular you should look at ways to identify weak signals caused by tax data in other data sets where the impacts are first seen somewhere other than in the Tax data BUT are caused or heavily influenced by, the existence of that data. +Hint: Ask yourself questions like : What’s the social impact of financial hardship? How do lifestyle factors impact income levels and wealth generation? What’s the impact of education spending on incomes, What links can we identify between unemployment, income and marriage separation? How useful are the SEIFA regions as indicators of taxation impacts? + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +the ATO Dataset \ No newline at end of file diff --git a/_prizes/2016/australia/australia-storytelling-hack.md b/_prizes/2016/australia/australia-storytelling-hack.md new file mode 100644 index 0000000..7407969 --- /dev/null +++ b/_prizes/2016/australia/australia-storytelling-hack.md @@ -0,0 +1,116 @@ +--- +category: australia +gid: australia-storytelling-hack +jurisdiction: international +name: Storytelling Hack +organisation_title: Ancestry +organisations: +- ancestry +projects: +- staying-the-course +- stem,-australia +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- sydpark +- breathe-easy +- negative-gearing-insight---are-you-one +- on-the-move +- location-location-location +- greenu +- adelography---the-story-of-adelaide +- safetymeasur.es +- newspulse +- aaya +- finding-forgotten-fauna +- taxless:-optimising-your-tax-return +- exploring-indigenous-over-representation-in-youth-detention +- walks-of-life +- home +- wilsons-prom-go +- story-place +- geo-spot +- wynaut---historycal-picture-viewer +- newsexplo.re +- will-i-burn +- mapping-sepsis +- picspot +- diis-project---jobs-and-growth +- dont-crash +- a-century-of-intellectual-property +- wildsnap +- ausémon +- coffee-is-life +- qrester +- sizzlerig +- agricultura +- attack-of-the-pink-fluffy-unicorns. +- edudrugs +- datacake +- on-the-spot +- smart-asset-management +- psychedelicprosthetic +- mycity-in-virtual-reality +- mother-nature +- data-for-social-change-update +- mapping-innovation---from-local-to-global-in-time-and-space +- endless-bureaucracy +- little-steps +- do-you-know-australia +- welcome,-my-new-neighbour! +- au-dashboard +- ihero +- maphack +- migrant-settlement-and-job-australia-data-visualiser +- cute-commies +- safety-tracker +- cbr-heritage-data-team +- hawks-i +- home-sweet-home +- scan,-process,-share,-recreate +- gaiaxplorers +- mind-the-gapp +- please-explain +- mission:-attrition +- patented +- flash-me! +- pulse +- sydney-cbd-crime-analytics +- insolvency-in-qld-2013-2014 +- innovationx +- tribes +- wheretonext +- qld-fire-warden +- pet-tential +- factr +- beat-the-press +- edugate +- sweet-beginnings +- truthbot +- healthhack +- the-purple-rain-index +- pom-pom-pie-charts +- our-story-~-your-story +- legends-of-tomorrow +- critrs +- informed-personas +- education-hub +- unveil-the-scene +- deconstructed-coffee-and-design---melbourne-hipster-index +- conviction-currents +- -dash- +- portrait-landscape +- splash +- life-explorer +- smart-sepsis-wa +- colourful-past +- proximity +title: Storytelling Hack +type: International +--- + +This category is about bringing life to data and helping people connect with the information that the data has revealed. Entries should seek to not only present data findings but to consider how you want people to respond to the data findings. A good story sets the scene for the character's and takes us through a plot in a way that engages people with values or emotions. Stories come in many forms including; art, film, books, journalism and sound. Some other popular ways of telling stories include comics, game development and digital video. What story is the data trying to tell you? + +# Prize +Award up to the value of $4,000 for 1st place and $2,000 for 2nd place + +# Eligibility Criteria +all Australian and New Zealand teams are eligible. Must use at least two Official GovHack Datasets. Open Government data must be used. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-student-dropout-rates.md b/_prizes/2016/australia/australia-student-dropout-rates.md new file mode 100644 index 0000000..574beb2 --- /dev/null +++ b/_prizes/2016/australia/australia-student-dropout-rates.md @@ -0,0 +1,39 @@ +--- +category: australia +gid: australia-student-dropout-rates +jurisdiction: australia +name: Student Dropout Rates +organisation_title: Department of Education +organisations: +- department-of-education-and-training +projects: +- staying-the-course +- bizhack +- vectoring-brisbane +- taxless:-optimising-your-tax-return +- stickin-around +- edstat +- mycity-in-virtual-reality +- endless-bureaucracy +- au-dashboard +- mission:-attrition +- smarter-training +- flash-me! +- pom-pom-pie-charts +- education-hub +title: Student Dropout Rates +type: Bounty +--- + +What are the main characteristics associated with students dropping out of higher education, who is not completing, what are the trends since 2005 and have there been any dramatic changes? Provide as much detail as possible and present the results in an appropriate format that is easily accessible. + +In chasing this goal, you must: + +* identify what student characteristics have a higher impact on the dropout rate; +* consider the dropout rate between the different fields of education. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +use Department of Education and Training university attrition rate data and any other appropriate public data sources; \ No newline at end of file diff --git a/_prizes/2016/australia/australia-that-thing-we-all-need.md b/_prizes/2016/australia/australia-that-thing-we-all-need.md new file mode 100644 index 0000000..ccb7d26 --- /dev/null +++ b/_prizes/2016/australia/australia-that-thing-we-all-need.md @@ -0,0 +1,86 @@ +--- +category: australia +gid: australia-that-thing-we-all-need +jurisdiction: australia +name: That thing we all need +organisation_title: Australian Bureau of Statistics +organisations: +- australian-bureau-of-statistics +projects: +- campsites-tonight +- bizhack +- hackanation +- location-location-location +- aaya +- home +- australia-go! +- mapping-sepsis +- smart-travel +- w_i_n_e +- blockchain-digital-id +- agricultura +- firealert +- where-2-go +- mycity-in-virtual-reality +- touch +- mother-nature +- where-are-people-like-me-! +- data-for-social-change-update +- endless-bureaucracy +- ballaratgo +- the-driving-angel +- au-dashboard +- ihero +- haidabloke +- worldckans +- scan,-process,-share,-recreate +- touri +- a-2-green +- patented +- flash-me! +- insolvency-in-qld-2013-2014 +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- truthbot +- pom-pom-pie-charts +- transforma +- digihealth-plus +- averageaussie +- informed-personas +- education-hub +- zr0data +- -dash- +- disport +- immi-great +- smart-sepsis-wa +- find-my-toilet +- proximity +title: That thing we all need +type: Bounty +--- + +OK Tech and Dev Hackers. You've spoken over the years, and we've listened. + +We know that sometimes government systems aren't the best things to work with. And we know that most of the time, all of our data is in different formats and sometimes, all kinds of wrong to the professional developer. + +So here is your challenge. Make us *"that thing"* we need. The dankest of the dank unofficial APIs. The killer library. The master app. The coolest of the cool. The thing that will solve the *"this is why we can't have nice things"* conundrum. + +*"But what makes it cool?"* you ask? + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Entries MUST be cross-team and collaborative. + +* Ideally, you'll connect with other techs/devs from other teams and either: + * Build something that all teams at GovHack can use to discover, access, connect to etc, to multiple agency data portals and websites; or + * Build something that every Agency at GovHack and elsewhere can use in future years to make it easier for people to do things with our data. +* Entries must be complete and working, open source and available for use, and documented well enough for peer review. +* Demonstrated cross-team use of the working entry will be very highly regarded. + +# Judging +By the rules of cool: + +* Your peers will be your initial judges - if "that thing we need" is clearly used by a large number of team by the end of the weekend, this will speak for itself and will be very highly regarded for judging - everyone subconsciously knows what's cool and what's not - the inner geek is a powerful judge! +* Agency and Sponsor technical mentors from Service Design and Developer/Coder areas will also evaluate entries on both "big S" service design (is it easy to use, documented, developer experience friendly etc) and code/functional quality. +* The prize will be awarded to the named / significant contributors of the *"thing"*, as if they were a normal team. \ No newline at end of file diff --git a/_prizes/2016/australia/australia-training-data.md b/_prizes/2016/australia/australia-training-data.md new file mode 100644 index 0000000..55a5342 --- /dev/null +++ b/_prizes/2016/australia/australia-training-data.md @@ -0,0 +1,48 @@ +--- +category: australia +gid: australia-training-data +jurisdiction: australia +name: Training Data +organisation_title: Department of Employment +organisations: +- department-of-employment +projects: +- bizhack +- boj---jobquilibrium +- breathe-easy +- vectoring-brisbane +- taxless:-optimising-your-tax-return +- home +- startup-helper +- paranormal-distribution +- diis-project---jobs-and-growth +- a-century-of-intellectual-property +- insights-into-vocational-education +- edstat +- jerbsngrowth +- mycity-in-virtual-reality +- perfect-catch +- au-dashboard +- mirai +- migrant-settlement-and-job-australia-data-visualiser +- careermoveau +- smarter-training +- find-my-future +- flash-me! +- edugate +- helping-hand +- future-proof +- disport +title: Training Data +type: Bounty +--- + +Using datasets from Employment, Education and Industry, and any other suitable datasets, analyse whether people are training and/or retraining to respond to changes in local industry activity and labour markets. + +Hint: Consider the benefit of this information for jobseekers. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Must use at least one dataset published by the Dept Employment, Education & Industry from data.gov.au \ No newline at end of file diff --git a/_prizes/2016/australia/australia-transport-data.md b/_prizes/2016/australia/australia-transport-data.md new file mode 100644 index 0000000..95eefc5 --- /dev/null +++ b/_prizes/2016/australia/australia-transport-data.md @@ -0,0 +1,90 @@ +--- +category: australia +gid: australia-transport-data +jurisdiction: australia +name: Transport Data +organisation_title: Department of Infrastructure +organisations: +- department-of-infrastructure-and-regional-development +projects: +- sweetspot +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- go-go-bus +- tchke +- pokemon-trip +- sydpark +- crikey!:-helping-your-community +- breathe-easy +- parkingmon-go +- health-hack +- smartpath +- location-location-location +- getthere +- adelography---the-story-of-adelaide +- aaya +- home +- cross-roads +- geo-spot +- walksafe +- your-local-opinion +- quickbus +- dont-crash +- parks-finder +- coffee-is-life +- smart-travel +- adelaide-smart-city-2020 +- where-2-go +- on-the-spot +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- smart-asset-management +- psychedelicprosthetic +- mycity-in-virtual-reality +- the-transac-initiative +- perfect-catch +- endless-bureaucracy +- tolls-boardgame +- rest-stop-finder +- the-driving-angel +- au-dashboard +- eventsa +- safety-tracker +- parkachu +- direct-me +- pedestimate +- futurenow +- insync +- touri +- transport-alert +- a-2-green +- smart-parking-enhancements +- crash-course +- unsung +- flash-me! +- pulse +- grey-areas +- smartroads +- access-now +- crashwarning +- farrago-parking +- go-park-yourself +- next-bus +- highway-to-the-dangerzone +- transforma +- learngo +- accident-tracker +- time2go +- local-hero +- 3d-printed-tactile-map-of-melbourne-cbd-tram-stops-for-visually-impaired-commuters. +- wilderness-buddy +- proximity +title: Transport Data +type: Bounty +--- + +For outstanding creativity with any GovHack data that creates something for, provides insights into, or tells stories about transport. Mashing up datasets is encouraged. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +Dependency - must use at least 2 Official datasets \ No newline at end of file diff --git a/_prizes/2016/australia/australia-weather-forecast.md b/_prizes/2016/australia/australia-weather-forecast.md new file mode 100644 index 0000000..308ee3f --- /dev/null +++ b/_prizes/2016/australia/australia-weather-forecast.md @@ -0,0 +1,56 @@ +--- +category: australia +gid: australia-weather-forecast +jurisdiction: australia +name: Weather Forecasts +organisation_title: Bureau of Meteorology +organisations: +- bureau-of-meteorology +projects: +- campsites-tonight +- stem,-australia +- pokemon-trip +- crikey!:-helping-your-community +- breathe-easy +- vectoring-brisbane +- greenu +- flood-watch +- cross-roads +- wilsons-prom-go +- schrodingers-shark +- australlite +- weather-balls +- w_i_n_e +- sizzlerig +- where-2-go +- on-the-spot +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- smart-asset-management +- mycity-in-virtual-reality +- fivemind +- perfect-catch +- disaster-watch +- the-driving-angel +- eventsa +- hawks-i +- futurenow +- flash-me! +- going-out-today +- qld-fire-warden +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- climate-flow +- go-park-yourself +- wilderness-buddy +- street-shark +- weather-systems +title: Weather Forecasts +type: Bounty +--- + +Best visual display of weather forecast accuracy, value or benefit. + +# Prize +Award up to the value of $1,000 + +# Eligibility Criteria +https://data.gov.au/dataset/weather-forecasting-verification-data-2015-05-to-2016-04 \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-acceleration-award-govhack-nsw.md b/_prizes/2016/nsw/nsw-acceleration-award-govhack-nsw.md new file mode 100644 index 0000000..f7f0837 --- /dev/null +++ b/_prizes/2016/nsw/nsw-acceleration-award-govhack-nsw.md @@ -0,0 +1,40 @@ +--- +category: state +gid: nsw-acceleration-award-govhack-nsw +jurisdiction: nsw +name: Acceleration Award GovHack NSW +organisation: netapp +organisation_title: NetApp +projects: +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- pokemon-trip +- sydpark +- negative-gearing-insight---are-you-one +- aaya +- school-disaster-resilience +- tagger +- blockchain-digital-id +- on-the-spot +- opinion-matters +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- tolls-boardgame +- hawks-i +- home-sweet-home +- hazard-communication +- unsung +- flash-me! +- access-now +- edugate +- education-hub +title: Acceleration Award GovHack NSW +type: Development +--- + +The concept most likely to succeed by a team who wishes to move their solutions forward, the prize is intended to help them in their journey. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least 1 official GovHack datasets. \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-acceleration-award-govhack-sydney.md b/_prizes/2016/nsw/nsw-acceleration-award-govhack-sydney.md new file mode 100644 index 0000000..868503d --- /dev/null +++ b/_prizes/2016/nsw/nsw-acceleration-award-govhack-sydney.md @@ -0,0 +1,41 @@ +--- +category: local +events: +- sydney +gid: nsw-acceleration-award-govhack-sydney +jurisdiction: nsw +name: Acceleration Award GovHack Sydney +organisation: netapp +organisation_title: NetApp +projects: +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- pokemon-trip +- sydpark +- negative-gearing-insight---are-you-one +- aaya +- taxless:-optimising-your-tax-return +- school-disaster-resilience +- home +- tagger +- datacake +- on-the-spot +- opinion-matters +- tolls-boardgame +- maphack +- hawks-i +- gaiaxplorers +- hazard-communication +- unsung +- access-now +- edugate +title: Acceleration Award GovHack Sydney +type: Development +--- + +The concept most likely to succeed by a team who wishes to move their solutions forward, the prize is intended to help them in their journey. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least 1 official GovHack datasets. \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-acceleration-award.md b/_prizes/2016/nsw/nsw-acceleration-award.md new file mode 100644 index 0000000..936cb2c --- /dev/null +++ b/_prizes/2016/nsw/nsw-acceleration-award.md @@ -0,0 +1,41 @@ +--- +category: local +events: +- sydney +gid: nsw-acceleration-award +jurisdiction: nsw +name: Acceleration Award +organisation: coder-factory +organisation_title: Coder Factory +projects: +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- pokemon-trip +- sydpark +- negative-gearing-insight---are-you-one +- aaya +- taxless:-optimising-your-tax-return +- school-disaster-resilience +- home +- tagger +- datacake +- on-the-spot +- opinion-matters +- tolls-boardgame +- maphack +- hawks-i +- gaiaxplorers +- hazard-communication +- unsung +- access-now +- edugate +title: Acceleration Award +type: Development +--- + +For the team who coded the wishes to move their solutions forward, the prize is intended to help them in their journey + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +Must want to develop the solution within the following 6 months and allow CoderFactory to assist in acceleration process \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-best-nsw-higher-education-team-entry.md b/_prizes/2016/nsw/nsw-best-nsw-higher-education-team-entry.md new file mode 100644 index 0000000..9ee269c --- /dev/null +++ b/_prizes/2016/nsw/nsw-best-nsw-higher-education-team-entry.md @@ -0,0 +1,28 @@ +--- +category: local +events: +- sydney +gid: nsw-best-nsw-higher-education-team-entry +jurisdiction: nsw +name: Best NSW Higher Education Team Entry +organisation: netapp +organisation_title: NetApp +projects: +- tagger +- opinion-matters +- tolls-boardgame +- hazard-communication +- edugate +- learngo +- time2go +title: Best NSW Higher Education Team Entry +type: Best In +--- + +Best entry submitted by a higher education team + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +75% of Team members must be a higher education student. Higher education includes Tafe and University \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-city-of-parramatta-civic-hack.md b/_prizes/2016/nsw/nsw-city-of-parramatta-civic-hack.md new file mode 100644 index 0000000..a756972 --- /dev/null +++ b/_prizes/2016/nsw/nsw-city-of-parramatta-civic-hack.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- parramatta +gid: nsw-city-of-parramatta-civic-hack +jurisdiction: nsw +name: City of Parramatta Civic Hack +organisation: parramatta-city-council +organisation_title: City of Parramatta Council +projects: +- insights-into-vocational-education +- foster-innovation-to-drive-safer-communities +- parradise +- lets-renew-the-renewable-energy! +- streamlined-service-requests +title: City of Parramatta Civic Hack +type: Theme +--- + +The best concept that empowers people to get to know and participate in their local community. + +# Prize +Cash prize(s) up to the value of $1000. + +# Eligibility Criteria +Must use at least one dataset that includes data relating to Parramatta. \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-helping-schools-respond-to-disasters.md b/_prizes/2016/nsw/nsw-helping-schools-respond-to-disasters.md new file mode 100644 index 0000000..81123d7 --- /dev/null +++ b/_prizes/2016/nsw/nsw-helping-schools-respond-to-disasters.md @@ -0,0 +1,26 @@ +--- +category: state +gid: nsw-helping-schools-respond-to-disasters +jurisdiction: nsw +name: Helping Schools Respond to Disasters +organisation_title: Centre for Education Statistics and Evaluation, NSW Department of Education +projects: +- aaya +- school-disaster-resilience +- perfect-catch +- hawks-i +- hazard-communication +- unsung +- flash-me! +title: Helping Schools Respond to Disasters +type: Theme +--- + +The Best Entry that supports schools to plan and respond to a physical disaster. +Schools are responsible for the safety of their students and staff. When threatened with a physical disaster, such as a bushfire that may affect an entire neighbourhood , schools need to be able to become aware of the danger and act accordingly. This includes taking into account any special medical needs that students and staff may have at each of the affected schools. Coordinating with emergency services is a critical part of this situation. Parents and guardians need communication and teachers need support. Reuse data to find insights, develop tools or plan response initiatives that improve a school's ability to respond to a physical disaster. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use datasets from CESE Datahub and/or the ones provided to GovHack. Good entries will mash up this data with datasets from other participating agencies, such as environment data about bushfire threat levels, transport or roads data. \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-lifting-the-barriers.md b/_prizes/2016/nsw/nsw-lifting-the-barriers.md new file mode 100644 index 0000000..947da07 --- /dev/null +++ b/_prizes/2016/nsw/nsw-lifting-the-barriers.md @@ -0,0 +1,27 @@ +--- +category: state +gid: nsw-lifting-the-barriers +jurisdiction: nsw +name: Lifting the Barriers +organisation_title: Council of the City of Sydney +projects: +- sydpark +- datacake +- perfect-catch +- hawks-i +- unsung +- flash-me! +- access-now +- education-hub +title: Lifting the Barriers +type: Theme +--- + +The best entry that lifts the mobility barriers throughout the Sydney CBD. + Currency of data and static paper-based maps lead to poor experience and support to overcome barriers. There are many challenges you could tackle and resolve including; improved enagagment in planning, data collection and distribution, impacts and opportunities for major event planning, enhanced pedestrian/mobility route planning, awareness and future planning to support an aging population that will be faced with mobility challenges. You could also consider a user experience designed mobility barrier mapping that is driven by reliable data. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Any official data \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-most-fun-and-creative-use-of-data.md b/_prizes/2016/nsw/nsw-most-fun-and-creative-use-of-data.md new file mode 100644 index 0000000..d02eccf --- /dev/null +++ b/_prizes/2016/nsw/nsw-most-fun-and-creative-use-of-data.md @@ -0,0 +1,42 @@ +--- +category: local +events: +- sydney +gid: nsw-most-fun-and-creative-use-of-data +jurisdiction: nsw +name: Most fun and Creative Use of Data +organisation: netapp +organisation_title: NetApp +projects: +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- pokemon-trip +- taxless:-optimising-your-tax-return +- tagger +- datacake +- on-the-spot +- opinion-matters +- mapping-innovation---from-local-to-global-in-time-and-space +- tolls-boardgame +- do-you-know-australia +- hawks-i +- gaiaxplorers +- unsung +- creature-wise +- access-now +- edugate +- transforma +- learngo +- time2go +title: Most fun and Creative Use of Data +type: Theme +--- + +The most fun and creative reuse of data + +Sserving suggestion is a board games, digital game, 3d concepts a model some art or even a fun story using facts. It is unlikely that an app will win this prize so you need to get creative. + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +Must reuse data from the official data list or government portals \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-smart-cities-&-collaborative-economy.md b/_prizes/2016/nsw/nsw-smart-cities-&-collaborative-economy.md new file mode 100644 index 0000000..e727fce --- /dev/null +++ b/_prizes/2016/nsw/nsw-smart-cities-&-collaborative-economy.md @@ -0,0 +1,37 @@ +--- +category: state +gid: nsw-smart-cities-&-collaborative-economy +jurisdiction: nsw +name: Smart Cities & Collaborative Economy +organisation_title: Department of Finance, Services and Innovation +projects: +- sydpark +- aaya +- school-disaster-resilience +- tagger +- datacake +- where-are-people-like-me-! +- mapping-innovation---from-local-to-global-in-time-and-space +- perfect-catch +- hawks-i +- unsung +- flash-me! +- parradise +- sydney-cbd-crime-analytics +- access-now +- lets-renew-the-renewable-energy! +- education-hub +title: Smart Cities & Collaborative Economy +type: Theme +--- + +Best Entry that supports us to create, share, collaborate and use information to create better cities. + +Smart Cities enable individuals and communities to improve their lives and create a sustainable urban environment. +Understanding human behaviour and the environment in your city may help you ideate in this space. What can we do smarter in our city? Energy usage , Climate controlled buildings , Public Transit, walking and bicycling, Emissions, Waste management, Private Vehicle usage, Demographic data, Event information,- Government services + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Datasets from NSW Open Data portal and local council datasets \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-team-encouragement-award.md b/_prizes/2016/nsw/nsw-team-encouragement-award.md new file mode 100644 index 0000000..0ffe33f --- /dev/null +++ b/_prizes/2016/nsw/nsw-team-encouragement-award.md @@ -0,0 +1,38 @@ +--- +category: local +events: +- sydney +gid: nsw-team-encouragement-award +jurisdiction: nsw +name: Team Encouragement Award +organisation: netapp +organisation_title: NetApp +projects: +- team-project-road-runner-presents:-transport-hotspots---the-people-element +- sydpark +- taxless:-optimising-your-tax-return +- home +- tagger +- on-the-spot +- opinion-matters +- tolls-boardgame +- do-you-know-australia +- hawks-i +- gaiaxplorers +- hazard-communication +- unsung +- access-now +- the-purple-rain-index +- learngo +- time2go +title: Team Encouragement Award +type: Best In +--- + +An award for the team that made a valiant attempt, learnt the most, or is otherwise deserving of further encouragement. Basically it's for the team who has a go and is willing to go out of their comfort zone and try something new, even if it doesn't work out in the long run. + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +Team must be a particpants at GovHack Sydney \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-the-govhack-spirit-award-sydney.md b/_prizes/2016/nsw/nsw-the-govhack-spirit-award-sydney.md new file mode 100644 index 0000000..aa962d6 --- /dev/null +++ b/_prizes/2016/nsw/nsw-the-govhack-spirit-award-sydney.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- sydney +gid: nsw-the-govhack-spirit-award-sydney +jurisdiction: nsw +name: The GovHack Spirit Award Sydney +organisation: netapp +organisation_title: NetApp +title: The GovHack Spirit Award Sydney +type: Spirit +--- + +A GovHacker who has shown true govhack Spirit through helping others and contributing to a positive and happy Hackathon + +# Prize +Cash prize(s) up to the value of $200 + +# Eligibility Criteria +Must be a participant diff --git a/_prizes/2016/nsw/nsw-travelling-with-us.md b/_prizes/2016/nsw/nsw-travelling-with-us.md new file mode 100644 index 0000000..5db3a03 --- /dev/null +++ b/_prizes/2016/nsw/nsw-travelling-with-us.md @@ -0,0 +1,28 @@ +--- +category: state +gid: nsw-travelling-with-us +jurisdiction: nsw +name: Travelling with Us +organisation_title: Transport NSW +projects: +- pokemon-trip +- datacake +- on-the-spot +- flash-me! +- access-now +- transforma +- education-hub +title: Travelling with Us +type: Theme +--- + +The Best Entry that supports an improved Transport NSW experience for passengers traveling with us or planning their journey + +With the release of the real-time transport network data there are opportunities to improve the citizens experience when traveling or planning to travel via Transport NSW services. +Think outside the square for this prize category which aims to deliver a better experience for NSW Transport passengers. Perhaps you could crowd source data to improve network updates, visualise realtime data in a new way or mash up other data to provide more informed customer information. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use datasets from NSW Transport data hub \ No newline at end of file diff --git a/_prizes/2016/nsw/nsw-vibrant-sydney-night-time-economy.md b/_prizes/2016/nsw/nsw-vibrant-sydney-night-time-economy.md new file mode 100644 index 0000000..0b691b0 --- /dev/null +++ b/_prizes/2016/nsw/nsw-vibrant-sydney-night-time-economy.md @@ -0,0 +1,28 @@ +--- +category: state +gid: nsw-vibrant-sydney-night-time-economy +jurisdiction: nsw +name: Vibrant Sydney Night-time Economy +organisation_title: Committee of Sydney +projects: +- sydpark +- tagger +- datacake +- on-the-spot +- where-are-people-like-me-! +- mapping-innovation---from-local-to-global-in-time-and-space +- do-you-know-australia +- flash-me! +- sydney-cbd-crime-analytics +- access-now +title: Vibrant Sydney Night-time Economy +type: Theme +--- + +The best entry that support a vibrant and safe sydney night-time economy. The Liquor Amendment Act 2014(NSW) introduced in direct response to alcohol related violence (two deaths) around the Sydney CBD and Kings Cross. Consider the impact of these laws and help the city to be great. Entries in this category may consider safety, transport, night-time economy, impacts on new night time activity hotspots, impact of lock out laws, social and cultural contributions to metropolitan Sydney, positive drinking behaviours. Entries could also concider: evaluation of initiatives or new concepts that support a vibrant and safe sydney nightlife. If lock out laws have shifted nighttime activity to outside the lock out zone and the impact this has, allocation of grant funding to areas with high night time activity + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least one of the below datasets (2010 to 2016) for whole of Greater Sydney)Bar openings (OLGC), Restaurants open in the evening (NSW Food Authority), Transport movements to and from areas (BTS public transport and opal usage; Uber), Attendance at cultural venues (Destination NSW, ArtsNSW), Attendance at sporting venues. \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-christchurch-smart-city-data-hack.md b/_prizes/2016/nz/nz-best-christchurch-smart-city-data-hack.md new file mode 100644 index 0000000..f182535 --- /dev/null +++ b/_prizes/2016/nz/nz-best-christchurch-smart-city-data-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-best-christchurch-smart-city-data-hack +jurisdiction: nz +name: Best Christchurch Smart City Data Hack +organisation_title: Christchurch City Council +title: Best Christchurch Smart City Data Hack +type: Bounty +--- + +How can we visualise the interaction between the built and natural environments of Christchurch, making the invisible visible. Christchurch City Council has been piloting a Smart City project recently capturing C02 levels, air temperature, luminosity, barometric pressure and noise from around the city and seeks to make it useful and engaging for citizens. + +# Prize +2000 + +# Eligibility Criteria +Has to use some open data and the environmental monitoring datasets from newly installed monitoring technology located https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-christchurch-transport--data-hack.md b/_prizes/2016/nz/nz-best-christchurch-transport--data-hack.md new file mode 100644 index 0000000..2931c59 --- /dev/null +++ b/_prizes/2016/nz/nz-best-christchurch-transport--data-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-best-christchurch-transport--data-hack +jurisdiction: nz +name: Best Christchurch Transport Data Hack +organisation_title: Canterbury Transport Operations Centre +title: Best Christchurch Transport Data Hack +type: Bounty +--- + +How can we give personalised information for a customer's journey that makes their trip predictable, enjoyable and interesting? + +# Prize +$1000 + +# Eligibility Criteria +Has to use some open govt data. Datasets on NZTA, Transport for ChCh http://api.tmpforchch.co.nz/v4/tmps?key=govhack2016&format=geojson&limit=10000, and the real time traffic flow dataset https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch may be useful. \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-cognitive-or-analytics-hack-using-ibm-bluemix.md b/_prizes/2016/nz/nz-best-cognitive-or-analytics-hack-using-ibm-bluemix.md new file mode 100644 index 0000000..ad4d134 --- /dev/null +++ b/_prizes/2016/nz/nz-best-cognitive-or-analytics-hack-using-ibm-bluemix.md @@ -0,0 +1,18 @@ +--- +category: state +gid: nz-best-cognitive-or-analytics-hack-using-ibm-bluemix +jurisdiction: nz +name: Best cognitive/analytics hack using IBM Bluemix +organisation: ibm +organisation_title: IBM +title: Best cognitive/analytics hack using IBM Bluemix +type: Major +--- + +Combining components of IBM Bluemix and Government data to create a cognitive or analytical hack + +# Prize +1500 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-data-hack-involving-environmental-data.md b/_prizes/2016/nz/nz-best-data-hack-involving-environmental-data.md new file mode 100644 index 0000000..25c6b60 --- /dev/null +++ b/_prizes/2016/nz/nz-best-data-hack-involving-environmental-data.md @@ -0,0 +1,25 @@ +--- +category: local +events: +- christchurch +gid: nz-best-data-hack-involving-environmental-data +jurisdiction: nz +name: Best data hack involving environmental data +organisation_title: Environment Canterbury +title: Best data hack involving environmental data +type: Bounty +--- + +How can we show environmental data in a new light and help the citizen understand the state of the environment around them. How can data can help influence their community to make smarter decisions in planning. + +# Prize +$1000 + +# Eligibility Criteria +Has to use at least one dataset from Canterbury Maps or ecan.data.govt.nz, focussing on datasets across: +· Air quality data +· Rainfall data +· Riverflow data +· Well level data +· Water quality data +· Resource Consents \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-engagement-data-hack.md b/_prizes/2016/nz/nz-best-engagement-data-hack.md new file mode 100644 index 0000000..9ce299f --- /dev/null +++ b/_prizes/2016/nz/nz-best-engagement-data-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-best-engagement-data-hack +jurisdiction: nz +name: Best Engagement Data Hack +organisation_title: Christchurch City Council +title: Best Engagement Data Hack +type: Bounty +--- + +How can we get people on board with cycleways in this Christchurch. We know, from the research, that people want a greener city that is more pedestrian and cycle-friendly. And we know people are generally supportive of cycle routes until that cycle route impacts on their trees, or their parking, or the way they access their property or business. So how do we get people excited about cycling in this city, so that when the a cycle route comes past their house they can see the bigger picture of what they are gaining, not what they're losing. + +# Prize +$1000 + +# Eligibility Criteria +Has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/, including submissions from a recent consultation on a major cycle route in Christchurch under https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch \ No newline at end of file diff --git a/_prizes/2016/nz/nz-best-university-of-canterbury-data-hack.md b/_prizes/2016/nz/nz-best-university-of-canterbury-data-hack.md new file mode 100644 index 0000000..3e45af7 --- /dev/null +++ b/_prizes/2016/nz/nz-best-university-of-canterbury-data-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-best-university-of-canterbury-data-hack +jurisdiction: nz +name: Best University of Canterbury data hack +organisation_title: UC College of Business and Law and UC College of Engineering +title: Best University of Canterbury data hack +type: Bounty +--- + +How do we better plan our open days to manage both student and visitor needs in a useful and engaging way. + +# Prize +$500 Westfield Vouchers + +# Eligibility Criteria +Has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-christchurch-news-and-community-data-hack.md b/_prizes/2016/nz/nz-christchurch-news-and-community-data-hack.md new file mode 100644 index 0000000..3673baa --- /dev/null +++ b/_prizes/2016/nz/nz-christchurch-news-and-community-data-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-christchurch-news-and-community-data-hack +jurisdiction: nz +name: Christchurch News and Community Data Hack +organisation_title: Christchurch City Council +title: Christchurch News and Community Data Hack +type: Bounty +--- + +How do we build a sense of community in Christchurch with news and information ? + +# Prize +$2,000 + +# Eligibility Criteria +Has to use some open govt data and must use Newsline dataset from https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch \ No newline at end of file diff --git a/_prizes/2016/nz/nz-data-journalism-1st.md b/_prizes/2016/nz/nz-data-journalism-1st.md new file mode 100644 index 0000000..e8a0fb1 --- /dev/null +++ b/_prizes/2016/nz/nz-data-journalism-1st.md @@ -0,0 +1,17 @@ +--- +category: state +gid: nz-data-journalism-1st +jurisdiction: nz +name: Data Journalism 1st +organisation_title: Statistics NZ +title: Data Journalism 1st +type: Major +--- + +This category is about using government data for data journalism. This could include data visualisation tools, infographic, interactive websites or applications, or anything else that explains, investigates or makes more understandable the often complex array of information in government. + +# Prize +2000 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-data-journalism-2nd.md b/_prizes/2016/nz/nz-data-journalism-2nd.md new file mode 100644 index 0000000..9b40302 --- /dev/null +++ b/_prizes/2016/nz/nz-data-journalism-2nd.md @@ -0,0 +1,17 @@ +--- +category: state +gid: nz-data-journalism-2nd +jurisdiction: nz +name: Data Journalism 2nd +organisation_title: Statistics NZ +title: Data Journalism 2nd +type: Major +--- + +This category is about using government data for data journalism. This could include data visualisation tools, infographic, interactive websites or applications, or anything else that explains, investigates or makes more understandable the often complex array of information in government. + +# Prize +1000 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-data-journalism-3rd.md b/_prizes/2016/nz/nz-data-journalism-3rd.md new file mode 100644 index 0000000..6d8afb6 --- /dev/null +++ b/_prizes/2016/nz/nz-data-journalism-3rd.md @@ -0,0 +1,17 @@ +--- +category: state +gid: nz-data-journalism-3rd +jurisdiction: nz +name: Data Journalism 3rd +organisation_title: Statistics NZ +title: Data Journalism 3rd +type: Major +--- + +This category is about using government data for data journalism. This could include data visualisation tools, infographic, interactive websites or applications, or anything else that explains, investigates or makes more understandable the often complex array of information in government. + +# Prize +500 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-how-can-we-enable-citizens-to-make-more-informed-decisions-of-changing-river-levels-in-flood-prone-areas?.md b/_prizes/2016/nz/nz-how-can-we-enable-citizens-to-make-more-informed-decisions-of-changing-river-levels-in-flood-prone-areas?.md new file mode 100644 index 0000000..8f5e6ec --- /dev/null +++ b/_prizes/2016/nz/nz-how-can-we-enable-citizens-to-make-more-informed-decisions-of-changing-river-levels-in-flood-prone-areas?.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-how-can-we-enable-citizens-to-make-more-informed-decisions-of-changing-river-levels-in-flood-prone-areas? +jurisdiction: nz +name: How can we enable citizens to make more informed decisions of changing river levels in flood prone areas? +organisation_title: Christchurch City Council +title: How can we enable citizens to make more informed decisions of changing river levels in flood prone areas? +type: Bounty +--- + +Christchurch has challenges with local flooding, particularly in residential areas, and CCC seeks to engage and enable citizens to make more informed decisions in regards to changing river levels in flood prone areas. + +# Prize +2000 + +# Eligibility Criteria +Has to use CCC specific river flow data for Dudley Creek found here https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch, but also data from Canterbury Maps, NIWA. \ No newline at end of file diff --git a/_prizes/2016/nz/nz-how-does-ccc-prioritise-which-buildings-to-assess-after-an-earthquake-based-on-the-likelihood-of-damage-and-liquefaction-occurring?.md b/_prizes/2016/nz/nz-how-does-ccc-prioritise-which-buildings-to-assess-after-an-earthquake-based-on-the-likelihood-of-damage-and-liquefaction-occurring?.md new file mode 100644 index 0000000..5d00501 --- /dev/null +++ b/_prizes/2016/nz/nz-how-does-ccc-prioritise-which-buildings-to-assess-after-an-earthquake-based-on-the-likelihood-of-damage-and-liquefaction-occurring?.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-how-does-ccc-prioritise-which-buildings-to-assess-after-an-earthquake-based-on-the-likelihood-of-damage-and-liquefaction-occurring? +jurisdiction: nz +name: How does CCC prioritise which buildings to assess after an earthquake based on the likelihood of damage and liquefaction occurring? +organisation_title: Christchurch City Council +title: How does CCC prioritise which buildings to assess after an earthquake based on the likelihood of damage and liquefaction occurring? +type: Bounty +--- + +Christchurch rebuilding and more accurate and useful ways to identify damage across city assets and buildings quickly and easily. + +# Prize +2000 + +# Eligibility Criteria +Has to use CCC Service Centre locations https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch and Geonet ground acceleration data. There may be other datasets available from Coordinates and Canterbury Maps \ No newline at end of file diff --git a/_prizes/2016/nz/nz-how-we-can-support-people-to-get-healthcare-from-the-right-provider.md b/_prizes/2016/nz/nz-how-we-can-support-people-to-get-healthcare-from-the-right-provider.md new file mode 100644 index 0000000..3cc2037 --- /dev/null +++ b/_prizes/2016/nz/nz-how-we-can-support-people-to-get-healthcare-from-the-right-provider.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-how-we-can-support-people-to-get-healthcare-from-the-right-provider +jurisdiction: nz +name: How we can support people to get healthcare from the right provider +organisation_title: Canterbury District Health Board +title: How we can support people to get healthcare from the right provider +type: Bounty +--- + +The increasing number of people attending the Emergency Department (ED) is not evenly distributed across the population with young adult attendance growing more quickly than other age groups. Young adults are less likely to need treatment quickly or to be admitted to hospital for further care. Despite this, when most people are asked they indicate they thought ED is the appropriate place for them to receive care. + +# Prize +$5,000 worth of development time in CDHB innovation centre + +# Eligibility Criteria +Has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ A dataset from CDHB on the numbers of people attending ED may also be useful and can be found https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch \ No newline at end of file diff --git a/_prizes/2016/nz/nz-most-promising-christchurch-student.md b/_prizes/2016/nz/nz-most-promising-christchurch-student.md new file mode 100644 index 0000000..f9c1ceb --- /dev/null +++ b/_prizes/2016/nz/nz-most-promising-christchurch-student.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-most-promising-christchurch-student +jurisdiction: nz +name: Most promising Christchurch student +organisation_title: University of Canterbury Centre for Entrepreneurship +title: Most promising Christchurch student +type: Bounty +--- + +There will be up to 2 UC Centre for Entrepreneurship Summer Scholarships on offer for any Christchurch tertiary student from University of Canterbury, Area or Lincoln University, participating in GovHack Christchurch. Each scholarship is worth $5,000 (tax free) and will be awarded to 2 most promising UC students who wish to continue their venture in a 10 week summer start-up programme. + +# Prize +$5,000 UC Centre for Entrepreneurship Summer Scholarship + +# Eligibility Criteria +Has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-open-government-1st.md b/_prizes/2016/nz/nz-open-government-1st.md new file mode 100644 index 0000000..0585f2a --- /dev/null +++ b/_prizes/2016/nz/nz-open-government-1st.md @@ -0,0 +1,18 @@ +--- +category: state +gid: nz-open-government-1st +jurisdiction: nz +name: Open Government 1st +organisation: ancestry +organisation_title: Ancestry +title: Open Government 1st +type: Major +--- + +This is an open category for you to show us how open government data is done :) It could include extensions for data.govt.nz, new approaches to managing data, digitising a major piece of non machine readable government data, improved metadata search or aggregation, some form of citizen engagement with government data. Have fun! + +# Prize +2000 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-open-government-2nd.md b/_prizes/2016/nz/nz-open-government-2nd.md new file mode 100644 index 0000000..3db0267 --- /dev/null +++ b/_prizes/2016/nz/nz-open-government-2nd.md @@ -0,0 +1,17 @@ +--- +category: state +gid: nz-open-government-2nd +jurisdiction: nz +name: Open Government 2nd +organisation_title: The Media Suite +title: Open Government 2nd +type: Major +--- + +This is an open category for you to show us how open government data is done :) It could include extensions for data.govt.nz, new approaches to managing data, digitising a major piece of non machine readable government data, improved metadata search or aggregation, some form of citizen engagement with government data. Have fun! + +# Prize +1000 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-open-government-3rd.md b/_prizes/2016/nz/nz-open-government-3rd.md new file mode 100644 index 0000000..ba56382 --- /dev/null +++ b/_prizes/2016/nz/nz-open-government-3rd.md @@ -0,0 +1,17 @@ +--- +category: state +gid: nz-open-government-3rd +jurisdiction: nz +name: Open Government 3rd +organisation_title: Internet NZ +title: Open Government 3rd +type: Major +--- + +This is an open category for you to show us how open government data is done :) It could include extensions for data.govt.nz, new approaches to managing data, digitising a major piece of non machine readable government data, improved metadata search or aggregation, some form of citizen engagement with government data. Have fun! + +# Prize +500 + +# Eligibility Criteria +One...has to USE some open govt data. Ideas for where to look at http://govhack.org.nz/resources/2016-data/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-showcase-whanganui.md b/_prizes/2016/nz/nz-showcase-whanganui.md new file mode 100644 index 0000000..9cf1d60 --- /dev/null +++ b/_prizes/2016/nz/nz-showcase-whanganui.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- whanganui +gid: nz-showcase-whanganui +jurisdiction: nz +name: Showcase Whanganui +organisation_title: Whanganui District Council +title: Showcase Whanganui +type: Bounty +--- + +How can we use GIS data to showcase Whanganui’s unique heritage, facilities and events? + +# Prize + + +# Eligibility Criteria +See Whanganui GIS data http://wdc.whanganui.govt.nz/odata/xml/ +and http://whanganuiwhatson.nz/ \ No newline at end of file diff --git a/_prizes/2016/nz/nz-the-identity-of-christchurch.md b/_prizes/2016/nz/nz-the-identity-of-christchurch.md new file mode 100644 index 0000000..fd0226f --- /dev/null +++ b/_prizes/2016/nz/nz-the-identity-of-christchurch.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- christchurch +gid: nz-the-identity-of-christchurch +jurisdiction: nz +name: The identity of Christchurch +organisation_title: Christchurch City Council +title: The identity of Christchurch +type: Bounty +--- + +How can we describe the identity of Christchurch in 2016? Our city and key icons have changed since the quakes and we wish to understand how the citizens of Christchurch perceive the identity of their city in 2015. + +# Prize +2000 + +# Eligibility Criteria +Has to use some open govt data and recent survey data to help inform the answer to this question https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch/How-people-feel-about-Christchurch. Other datasets about Christchurch in https://github.com/ccc-digital-channels/datasets/tree/master/GovHack2016-Christchurch may be useful. \ No newline at end of file diff --git a/_prizes/2016/nz/nz-whanganui-community-hack.md b/_prizes/2016/nz/nz-whanganui-community-hack.md new file mode 100644 index 0000000..8eaf3a9 --- /dev/null +++ b/_prizes/2016/nz/nz-whanganui-community-hack.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- whanganui +gid: nz-whanganui-community-hack +jurisdiction: nz +name: Whanganui community hack +organisation_title: Whanganui District Council +title: Whanganui community hack +type: Bounty +--- + +How can we use Whanganui data to connect the local community and visitors in a fun and engaging way? + +# Prize + + +# Eligibility Criteria +http://wdc.whanganui.govt.nz/odata/xml/ See protected trees, untility hole covers, stormwater lines, heritage buildings etc. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-advance-queensland!.md b/_prizes/2016/qld/qld-advance-queensland!.md new file mode 100644 index 0000000..ecce3cf --- /dev/null +++ b/_prizes/2016/qld/qld-advance-queensland!.md @@ -0,0 +1,48 @@ +--- +category: state +gid: qld-advance-queensland! +jurisdiction: qld +name: Advance Queensland! +organisation_title: Queensland Government on behalf of Strategic Policy and Innovation, Department of Science, Information Technology and Innovation +projects: +- location-info +- breathe-easy +- john-conner +- safenet +- startup-helper +- australlite +- the-outdoor-experience +- quickbus +- dingopack +- where-2-go +- check-your-uglies +- jerbsngrowth +- mycity-in-virtual-reality +- snap-ranger +- hubgap +- search-party +- worldckans +- insync +- qschools +- innovationx +- qld-fire-warden +- smart-moves-logan +- birth-choices +- climate-flow +- next-bus +- unveil-the-scene +- disport +- daaasgüd +title: Advance Queensland! +type: Theme +--- + +The most innovative use of Advance Queensland data. Tell a story about the innovation movement in Queensland which is data rich, creative and visually appealing to engage, inspire a broad audience. + +More information and selected datasets are available from [https://data.qld.gov.au/data-event/govhack/2016](https://data.qld.gov.au/data-event/govhack/2016) and [http://advance.qld.gov.au/](http://advance.qld.gov.au/). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +You must use the Advance Queensland dataset provided for this challenge hosted on http://data.qld.gov.au, but you are free to also use data from the official GovHack list or any other data sets as long as their licensing terms permit. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-age-friendly-community.md b/_prizes/2016/qld/qld-age-friendly-community.md new file mode 100644 index 0000000..938c79e --- /dev/null +++ b/_prizes/2016/qld/qld-age-friendly-community.md @@ -0,0 +1,39 @@ +--- +category: state +gid: qld-age-friendly-community +jurisdiction: qld +name: Age-friendly Community +organisation_title: Queensland Government on behalf of the Department of Communities, Child Safety and Disability Services +projects: +- location-info +- crikey!:-helping-your-community +- getthere +- your-local-opinion +- dingopack +- where-2-go +- check-your-uglies +- mycity-in-virtual-reality +- retirement-with-children +- community-companion +- search-party +- the-good-old-life +- grey-areas +- time-walks +- whats-up-brisbane +- unveil-the-scene +- disport +title: Age-friendly Community +type: Theme +--- + +Best entry that uses open data to support a vision for Queenslanders to live in age-friendly communities that allow people, regardless of their age, to stay active and connected, and to contribute economically, socially and culturally. In particular, an age-friendly community ensures older people are free from age-related barriers. + +More information how to assess a community’s age-friendliness available at [http://qld.gov.au/agefriendly](http://qld.gov.au/agefriendly). + +Selected datasets are available from [https://data.qld.gov.au/data-event/govhack/2016](https://data.qld.gov.au/data-event/govhack/2016). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +You must use at least one of the data sets provided for this challenge hosted on http://data.qld.gov.au, but you are free to use data from the official GovHack list or any other data sets as long as their licensing terms permit. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-an-active-and-healthy-brisbane.md b/_prizes/2016/qld/qld-an-active-and-healthy-brisbane.md new file mode 100644 index 0000000..cd1a2b4 --- /dev/null +++ b/_prizes/2016/qld/qld-an-active-and-healthy-brisbane.md @@ -0,0 +1,36 @@ +--- +category: local +events: +- brisbane +- brisbane-youth +- brisbane-maker +gid: qld-an-active-and-healthy-brisbane +jurisdiction: qld +name: An Active and Healthy Brisbane +organisation: brisbane-city-council +organisation_title: Brisbane City Council +projects: +- crikey!:-helping-your-community +- breathe-easy +- australia-go! +- picspot +- spokesocial +- city-quest +- time-walks +- whats-up-brisbane +- walked +title: An Active and Healthy Brisbane +type: Theme +--- + +There are many opportunities for residents and visitors of Brisbane to participate in active and healthy pursuits. How can Brisbane make better uses of these and increase the level of participation for all? + +Ideas: Help uncover all the active and healthy events and facilities across Brisbane by making them easy +to find, get to and participate in. Or create a game that awards points for participation in active and healthy pursuits and events +encouraging competition against friends, locals or everyone across Brisbane. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least one open government dataset from http://data.brisbane.qld.gov.au. Must be a participant at either the Brisbane Official Event, Brisbane Maker Node, or Brisbane Youth Node. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-brisbane-or-queensland-oriented-business-related-application.md b/_prizes/2016/qld/qld-best-brisbane-or-queensland-oriented-business-related-application.md new file mode 100644 index 0000000..b194907 --- /dev/null +++ b/_prizes/2016/qld/qld-best-brisbane-or-queensland-oriented-business-related-application.md @@ -0,0 +1,40 @@ +--- +category: local +events: +- brisbane +- brisbane-youth +- brisbane-maker +gid: qld-best-brisbane-or-queensland-oriented-business-related-application +jurisdiction: qld +name: Best Brisbane/Queensland-Oriented Business Related Application +organisation_title: The University of Queensland - Business School +projects: +- breathe-easy +- australia-go! +- startup-helper +- australlite +- privé +- jerbsngrowth +- haidabloke +- pedestimate +- worldckans +- innovationx +- time-walks +- whats-up-brisbane +- fresh-plans +- next-bus +- unveil-the-scene +- walked +- cheap-rent-fast-net +title: Best Brisbane/Queensland-Oriented Business Related Application +type: Theme +--- + +Governments everywhere provide services and information for and about businesses. This category is about exploring new and interesting ways to support businesses in and around Brisbane/Queensland. Awarded to the best entrant from either the Brisbane Official Event, Brisbane Maker Node, or Brisbane Youth Node. + +# Prize +Cash up to the value of $500 + +# Eligibility Criteria +Be a participants at one of the Brisbane events (Offical, Maker, Youth). +Use data from the Brisbane/Queensland Data portals. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-innovative-use-of-data-sets.md b/_prizes/2016/qld/qld-best-innovative-use-of-data-sets.md new file mode 100644 index 0000000..5527660 --- /dev/null +++ b/_prizes/2016/qld/qld-best-innovative-use-of-data-sets.md @@ -0,0 +1,64 @@ +--- +category: state +gid: qld-best-innovative-use-of-data-sets +jurisdiction: qld +name: Best Innovative Use of Data Sets +organisation_title: The University of Queensland - School of Information Technology and Electrical Engineering +projects: +- breathe-easy +- vectoring-brisbane +- safenet +- australia-go! +- industrial-water-complex +- your-local-opinion +- privé +- picspot +- dont-crash +- explore-the-great-barrier-reef +- where-2-go +- check-your-uglies +- spokesocial +- jerbsngrowth +- mycity-in-virtual-reality +- mother-nature +- evacumate +- piccohunt +- bringing-data-to-the-table +- city-quest +- mirai +- haidabloke +- hubgap +- search-party +- pedestimate +- worldckans +- scan,-process,-share,-recreate +- insync +- the-good-old-life +- qschools +- insolvency-in-qld-2013-2014 +- innovationx +- time-walks +- whats-up-brisbane +- climate-flow +- fresh-plans +- next-bus +- accident-tracker +- unveil-the-scene +- future-proof +- disport +- life-explorer +- walked +- daaasgüd +- project-name-* +- cheap-rent-fast-net +title: Best Innovative Use of Data Sets +type: Theme +--- + +Best innovative use of open government data sets. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Must be a participants at one of the Brisbane events (Offical, Maker, Youth). \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-of-gold-coast.md b/_prizes/2016/qld/qld-best-of-gold-coast.md new file mode 100644 index 0000000..b462b32 --- /dev/null +++ b/_prizes/2016/qld/qld-best-of-gold-coast.md @@ -0,0 +1,27 @@ +--- +category: local +events: +- gold-coast +gid: qld-best-of-gold-coast +jurisdiction: qld +name: Best of Gold Coast +organisation: city-of-gold-coast +organisation_title: City of Gold Coast +projects: +- your-local-opinion +- where-2-go +- mycity-in-virtual-reality +- snap-ranger +- search-party +- disport +title: Best of Gold Coast +type: Best In +--- + +Best hack of the event. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Be a participant at the Gold Coast GovHack event. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-of-logan---youth.md b/_prizes/2016/qld/qld-best-of-logan---youth.md new file mode 100644 index 0000000..acbb608 --- /dev/null +++ b/_prizes/2016/qld/qld-best-of-logan---youth.md @@ -0,0 +1,23 @@ +--- +category: local +events: +- logan +gid: qld-best-of-logan---youth +jurisdiction: qld +name: Best of Logan - Youth +organisation: logan-city-council +organisation_title: Logan City Council +projects: +- dont-crash +- accident-tracker +title: Best of Logan - Youth +type: Best In +--- + +Best youth project developed at the GovHack Logan event. + +# Prize +Cash up to the value of $500 + +# Eligibility Criteria +Must be a participant at GovHack Logan and at least one team member under 18 years. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-of-logan.md b/_prizes/2016/qld/qld-best-of-logan.md new file mode 100644 index 0000000..ad3df7c --- /dev/null +++ b/_prizes/2016/qld/qld-best-of-logan.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- logan +gid: qld-best-of-logan +jurisdiction: qld +name: Best of Logan +organisation: logan-city-council +organisation_title: Logan City Council +projects: +- getthere +- the-outdoor-experience +- insync +- smart-moves-logan +- accident-tracker +title: Best of Logan +type: Best In +--- + +Best project developed at the GovHack Logan event. + +# Prize +Cash up to the value of $500 + +# Eligibility Criteria +Must be a participant at GovHack Logan event. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-use-of-gold-coast-data.md b/_prizes/2016/qld/qld-best-use-of-gold-coast-data.md new file mode 100644 index 0000000..4b810f0 --- /dev/null +++ b/_prizes/2016/qld/qld-best-use-of-gold-coast-data.md @@ -0,0 +1,27 @@ +--- +category: local +events: +- gold-coast +gid: qld-best-use-of-gold-coast-data +jurisdiction: qld +name: Best Use of Gold Coast Data +organisation: city-of-gold-coast +organisation_title: City of Gold Coast +projects: +- your-local-opinion +- where-2-go +- mycity-in-virtual-reality +- snap-ranger +- search-party +- disport +title: Best Use of Gold Coast Data +type: Theme +--- + +Best use of the City of Gold Coast's open data. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Entry must reuse at least one City of Gold Coast dataset available at https://data.gov.au/organization/city-of-gold-coast \ No newline at end of file diff --git a/_prizes/2016/qld/qld-best-visualisation-of-data.md b/_prizes/2016/qld/qld-best-visualisation-of-data.md new file mode 100644 index 0000000..2f95f1f --- /dev/null +++ b/_prizes/2016/qld/qld-best-visualisation-of-data.md @@ -0,0 +1,43 @@ +--- +category: local +events: +- brisbane +- brisbane-youth +- brisbane-maker +gid: qld-best-visualisation-of-data +jurisdiction: qld +name: Best Visualisation of Data +organisation: brisbane-city-council +organisation_title: Brisbane City Council +projects: +- breathe-easy +- vectoring-brisbane +- australia-go! +- industrial-water-complex +- explore-the-great-barrier-reef +- edstat +- mother-nature +- evacumate +- bringing-data-to-the-table +- worldckans +- scan,-process,-share,-recreate +- qschools +- insolvency-in-qld-2013-2014 +- innovationx +- whats-up-brisbane +- climate-flow +- unveil-the-scene +- life-explorer +- walked +- project-name-* +title: Best Visualisation of Data +type: Best In +--- + +Visualising data is an important part of creating and sharing information. There are so many different types of data and many ways to tell a data story. Come up with an object, artwork, sculpture, interactive display or anything that creatively visualises data for everyone. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Awarded to the best entry from either the Brisbane Official Event, Brisbane Maker Node or Brisbane Youth Node. You must use at least one open government dataset from http://data.brisbane.qld.gov.au and include an explanation of your visualisation. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-brisbanes-art-and-heritage.md b/_prizes/2016/qld/qld-brisbanes-art-and-heritage.md new file mode 100644 index 0000000..c2a48cd --- /dev/null +++ b/_prizes/2016/qld/qld-brisbanes-art-and-heritage.md @@ -0,0 +1,31 @@ +--- +category: state +gid: qld-brisbanes-art-and-heritage +jurisdiction: qld +name: Brisbane's Art and Heritage +organisation: brisbane-city-council +organisation_title: Brisbane City Council +projects: +- vectoring-brisbane +- mycity-in-virtual-reality +- bringing-data-to-the-table +- city-quest +- scan,-process,-share,-recreate +- insolvency-in-qld-2013-2014 +- time-walks +- whats-up-brisbane +- life-explorer +title: Brisbane's Art and Heritage +type: Theme +--- + +Awarded to the best entry engaging with Brisbane's art and heritage events, items, and venues spread across the city. + +More information on Brisbane's vision of a creative and vibrant city at https://www.brisbane.qld.gov.au/about- +council/governance-strategy/vision-strategy/brisbane-vision/our-vibrant-creative-city + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Must use at least one open government dataset from http://data.brisbane.qld.gov.au. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-create-a-cutting-edge-concept---the-science-sandpit!.md b/_prizes/2016/qld/qld-create-a-cutting-edge-concept---the-science-sandpit!.md new file mode 100644 index 0000000..3b2ec8a --- /dev/null +++ b/_prizes/2016/qld/qld-create-a-cutting-edge-concept---the-science-sandpit!.md @@ -0,0 +1,41 @@ +--- +category: state +gid: qld-create-a-cutting-edge-concept---the-science-sandpit! +jurisdiction: qld +name: Create a Cutting Edge Concept - The Science Sandpit! +organisation_title: The Queensland Government on behalf of Science Division, Department of Science, Information Technology and Innovation +projects: +- findmymap +- breathe-easy +- vectoring-brisbane +- john-conner +- industrial-water-complex +- air-adventure!!! +- explore-the-great-barrier-reef +- where-2-go +- mycity-in-virtual-reality +- mother-nature +- snap-ranger +- bringing-data-to-the-table +- worldckans +- scan,-process,-share,-recreate +- insync +- climate-flow +- threat.end +- disport +- walked +title: Create a Cutting Edge Concept - The Science Sandpit! +type: Theme +--- + +The best cutting edge concept that reuses Environmental and Natural Resources Sciences data to improve Government Service Delivery through one or more of the following: (A) Information Discoverability and Delivery (visualisation, education and promotion) (B) Community Disaster/Risk Awareness (preparedness and response) (C) Community and Stakeholder Engagement (communication, interaction, multicultural and special needs). + +More information and selected datasets are available from [https://data.qld.gov.au/data-event/govhack/2016](https://data.qld.gov.au/data-event/govhack/2016). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +You must use at least one of the data sets provided for this challenge hosted on http://data.qld.gov.au, but you are free to use data from the official GovHack list or any other data sets as long as their licensing terms permit. + +Note that most of the Science data sets are tagged with “Govhack 2016” or “science”. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-educate-us!.md b/_prizes/2016/qld/qld-educate-us!.md new file mode 100644 index 0000000..0c78cf4 --- /dev/null +++ b/_prizes/2016/qld/qld-educate-us!.md @@ -0,0 +1,46 @@ +--- +category: state +gid: qld-educate-us! +jurisdiction: qld +name: Educate us! +organisation_title: Queensland Government on behalf of the Department of Education and Training +projects: +- breathe-easy +- vectoring-brisbane +- safenet +- air-adventure!!! +- australlite +- the-outdoor-experience +- picspot +- explore-the-great-barrier-reef +- check-your-uglies +- mycity-in-virtual-reality +- mother-nature +- snap-ranger +- bringing-data-to-the-table +- city-quest +- worldckans +- scan,-process,-share,-recreate +- qschools +- time-walks +- climate-flow +- threat.end +- unveil-the-scene +- future-proof +- walked +- project-name-* +title: Educate us! +type: Theme +--- + +The best use of government data in a hack which educates the community about a topical issue. Ideally your hack should be able to be used to engage and educate school children; other than this, you are limited only by your imagination and your data hacking skills. + +Here are some ideas: (1)Traffic accident statistics could be used to educate people about the dangers of texting and driving. (2) Antarctic measurements, sea temperatures or other data might inform debates about global warming. (3) Health data might be used to highlight the incidence of diseases like melanoma in Queensland. + +More information and selected datasets are available from [https://data.qld.gov.au/data-event/govhack/2016](https://data.qld.gov.au/data-event/govhack/2016). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +You must use at least one of the data sets provided for this challenge hosted on http://data.qld.gov.au, but you are free to use data from the official GovHack list or any other data sets as long as their licensing terms permit. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-engaging-with-brisbane-city-council.md b/_prizes/2016/qld/qld-engaging-with-brisbane-city-council.md new file mode 100644 index 0000000..b0b26ec --- /dev/null +++ b/_prizes/2016/qld/qld-engaging-with-brisbane-city-council.md @@ -0,0 +1,39 @@ +--- +category: local +events: +- brisbane +- brisbane-youth +- brisbane-maker +gid: qld-engaging-with-brisbane-city-council +jurisdiction: qld +name: Engaging with Brisbane City Council +organisation: brisbane-city-council +organisation_title: Brisbane City Council +projects: +- crikey!:-helping-your-community +- breathe-easy +- vectoring-brisbane +- australia-go! +- quickbus +- spokesocial +- evacumate +- bringing-data-to-the-table +- city-quest +- worldckans +- innovationx +- time-walks +- whats-up-brisbane +- fresh-plans +- next-bus +- unveil-the-scene +title: Engaging with Brisbane City Council +type: Theme +--- + +Awarded to the best entry that improves Brisbane City Council service delivery. Brisbane City Council provide such a wide range of servies to to a very wide range of customers. Sometimes finding what you need, knowing who to contact, and letting the right people know can be hard. How can Brisbane City Council and the residents, visitors, businesses and everyone engage and connect more effectively? Data must be at the heart of the concept. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least one open government dataset from http://data.brisbane.qld.gov.au. Must be a participant at either the Brisbane Official Event, Brisbane Maker Node, or Brisbane Youth Node. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-entrepreneurs-award.md b/_prizes/2016/qld/qld-entrepreneurs-award.md new file mode 100644 index 0000000..af1b572 --- /dev/null +++ b/_prizes/2016/qld/qld-entrepreneurs-award.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- gold-coast +gid: qld-entrepreneurs-award +jurisdiction: qld +name: Entrepreneurs Award +organisation: city-of-gold-coast +organisation_title: City of Gold Coast +projects: +- your-local-opinion +- where-2-go +- mycity-in-virtual-reality +- snap-ranger +- disport +title: Entrepreneurs Award +type: Development +--- + +Hack most likely/viable to become a startup. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Be a participant at the Gold Coast GovHack event \ No newline at end of file diff --git a/_prizes/2016/qld/qld-evacuation---help-us-get-away!.md b/_prizes/2016/qld/qld-evacuation---help-us-get-away!.md new file mode 100644 index 0000000..df2507b --- /dev/null +++ b/_prizes/2016/qld/qld-evacuation---help-us-get-away!.md @@ -0,0 +1,30 @@ +--- +category: state +gid: qld-evacuation---help-us-get-away! +jurisdiction: qld +name: Evacuation - help us get away! +organisation_title: Queensland Government on behalf of the Office of the Inspector-General Emergency Management +projects: +- crikey!:-helping-your-community +- safenet +- australlite +- weather-balls +- dingopack +- where-2-go +- mycity-in-virtual-reality +- evacumate +- community-at-risk-assistance-&-response-(carar) +- smart-moves-logan +title: Evacuation - help us get away! +type: Theme +--- + +The best concept to help your community get to safety during evacuations. Queensland is prone to natural disasters and the decision to evacuate away from a hazard is a critical one. Help disaster managers to better plan for evacuations, and help keep the community aware of what might happen if the evacuation need arises. Communities and disaster managers alike are faced with tough choices including: Which communities might require most help to evacuate? Who needs to go first when there is a need to evacuate? How should I get out? + +More information and selected datasets are available from [https://data.qld.gov.au/data-event/govhack/2016](https://data.qld.gov.au/data-event/govhack/2016). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +You must use at least one of the data sets provided for this challenge hosted on http://data.qld.gov.au, but you are free to use data from the official GovHack list or any other data sets as long as their licensing terms permit. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-getting-around-brisbane.md b/_prizes/2016/qld/qld-getting-around-brisbane.md new file mode 100644 index 0000000..97ba8e6 --- /dev/null +++ b/_prizes/2016/qld/qld-getting-around-brisbane.md @@ -0,0 +1,38 @@ +--- +category: state +gid: qld-getting-around-brisbane +jurisdiction: qld +name: Getting around Brisbane +organisation: brisbane-city-council +organisation_title: Brisbane City Council +projects: +- breathe-easy +- vectoring-brisbane +- getthere +- australia-go! +- your-local-opinion +- quickbus +- picspot +- where-2-go +- spokesocial +- mycity-in-virtual-reality +- evacumate +- city-quest +- insync +- time-walks +- next-bus +- accident-tracker +title: Getting around Brisbane +type: Theme +--- + +Awarded to the best entry that supports a vision of an accessible and connected city. There are many services and significant infrastructure to help Brisbane residents get around the region including cars, public transport, bikeways, city cycle, walking trails and more. What solutions can you create to help people get around Brisbane? Think about a longer term vision for the solution and what needs to be done to make this a reality. + +More information on Brisbane as an accessible and connected city at https://www.brisbane.qld.gov.au/about-council/governance- +strategy/vision-strategy/brisbane-vision/our-accessible-connected-city + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Must use at least one open government dataset from http://data.brisbane.qld.gov.au. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-linking-logan---getting-people-out-of-their-cars.md b/_prizes/2016/qld/qld-linking-logan---getting-people-out-of-their-cars.md new file mode 100644 index 0000000..a336c30 --- /dev/null +++ b/_prizes/2016/qld/qld-linking-logan---getting-people-out-of-their-cars.md @@ -0,0 +1,33 @@ +--- +category: state +gid: qld-linking-logan---getting-people-out-of-their-cars +jurisdiction: qld +name: Linking Logan - Getting people out of their cars +organisation: logan-city-council +organisation_title: Logan City Council +projects: +- breathe-easy +- vectoring-brisbane +- getthere +- the-outdoor-experience +- your-local-opinion +- where-2-go +- mycity-in-virtual-reality +- insync +- time-walks +- next-bus +- accident-tracker +- walked +title: Linking Logan - Getting people out of their cars +type: Theme +--- + +Best hack that helps Logan residents to get around. Your hack could help identify gaps in the public transport network or allow residents to compare travel times for the transport modes available to them. As long as your hack looks to address transportation and mobility challenges in Logan, you are limited only by your imagination and your data hacking skills. + +Ideas: Transit information combined with ABS data and Go-Card transaction records could be used to determine how long a journey would take using public transport, and encourage public transport use by showing the number of people who already use it to make that journey. Bicycle network, traffic, and public transport data could be used to compare modal travel times. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Must make use of at least one open dataset from Logan’s Open Data Portal:  http://data.logancity.opendata.arcgis.com/ \ No newline at end of file diff --git a/_prizes/2016/qld/qld-logan-land-use-and-development.md b/_prizes/2016/qld/qld-logan-land-use-and-development.md new file mode 100644 index 0000000..c19c8e8 --- /dev/null +++ b/_prizes/2016/qld/qld-logan-land-use-and-development.md @@ -0,0 +1,33 @@ +--- +category: state +gid: qld-logan-land-use-and-development +jurisdiction: qld +name: Logan Land Use and Development +organisation: logan-city-council +organisation_title: Logan City Council +projects: +- mycity-in-virtual-reality +- mycity-in-virtual-reality +- piccohunt +- search-party +- pedestimate +- pedestimate +- insync +- insync +- smart-moves-logan +- smart-moves-logan +- fresh-plans +- fresh-plans +- unveil-the-scene +- disport +title: Logan Land Use and Development +type: Theme +--- + +Awarded to the most simple and effective use of freely available information about land use and development. Land Development generates interest, investment, and emotion across many sectors: commercial, political, educational, and personal/citizen. What is being done? Where is it being done? When is it being done? Who is doing it? How is it being done? These questions are asked by residential customers seeking to leverage Logan’s affordable housing options and access to services, networks and facilities; businesses looking to relocate or expand; and investors seeking to identify and rate/compare potential opportunities. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Must use at least one open data set from Logan’s Open Data Portal:  http://data.logancity.opendata.arcgis.com/ \ No newline at end of file diff --git a/_prizes/2016/qld/qld-make-your-hack-a-thing.md b/_prizes/2016/qld/qld-make-your-hack-a-thing.md new file mode 100644 index 0000000..1e86a5a --- /dev/null +++ b/_prizes/2016/qld/qld-make-your-hack-a-thing.md @@ -0,0 +1,32 @@ +--- +category: local +events: +- brisbane +gid: qld-make-your-hack-a-thing +jurisdiction: qld +name: Make your Hack-a-Thing +organisation: little-tokyo-two +organisation_title: Little Tokyo Two +projects: +- breathe-easy +- vectoring-brisbane +- australia-go! +- picspot +- jerbsngrowth +- mother-nature +- mirai +- haidabloke +- worldckans +- qschools +- life-explorer +title: Make your Hack-a-Thing +type: Development +--- + +Hack most likely to have commercialisation possibilities as a startup. + +# Prize +An Inclusive Startup - Enterprise Integration Program to commercialise a hack. Program includes membership to Little Tokyo Two for duration of program & weekly mentoring & coaching (valued at $ 50,000). + +# Eligibility Criteria +Have technical expertise and drive and willingness to create a company. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-mentoring-the-best-of-queensland.md b/_prizes/2016/qld/qld-mentoring-the-best-of-queensland.md new file mode 100644 index 0000000..9f4c9da --- /dev/null +++ b/_prizes/2016/qld/qld-mentoring-the-best-of-queensland.md @@ -0,0 +1,45 @@ +--- +category: state +gid: qld-mentoring-the-best-of-queensland +jurisdiction: qld +name: Mentoring the Best of Queensland +organisation: river-city-labs +organisation_title: River City Labs +projects: +- crikey!:-helping-your-community +- breathe-easy +- australia-go! +- air-adventure!!! +- your-local-opinion +- privé +- dingopack +- explore-the-great-barrier-reef +- where-2-go +- spokesocial +- jerbsngrowth +- mycity-in-virtual-reality +- mother-nature +- evacumate +- bringing-data-to-the-table +- mirai +- haidabloke +- scan,-process,-share,-recreate +- grey-areas +- time-walks +- fresh-plans +- unveil-the-scene +- future-proof +- disport +- walked +- daaasgüd +title: Mentoring the Best of Queensland +type: Development +--- + +Best entry from Queensland. + +# Prize +1 hour mentorship by a Startup Catalyst alumnus. + +# Eligibility Criteria +Be a participant of any GovHack event in Qld. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-open-data-and-higher-education-award.md b/_prizes/2016/qld/qld-open-data-and-higher-education-award.md new file mode 100644 index 0000000..66b0e64 --- /dev/null +++ b/_prizes/2016/qld/qld-open-data-and-higher-education-award.md @@ -0,0 +1,38 @@ +--- +category: state +gid: qld-open-data-and-higher-education-award +jurisdiction: qld +name: Open Data and Higher Education Award +organisation_title: Queensland University of Technology (QUT) +projects: +- vectoring-brisbane +- safenet +- australia-go! +- picspot +- edstat +- mycity-in-virtual-reality +- mother-nature +- evacumate +- search-party +- worldckans +- insync +- qschools +- innovationx +- climate-flow +- threat.end +- unveil-the-scene +- future-proof +- disport +title: Open Data and Higher Education Award +type: Theme +--- + +The best use of open data to enhance higher education. + +If we say open data & higher education - what are your ideas? + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +Entry must use at least one Qld open government data set from http://data.qld.gov.au. Bonus points for using open research data. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-spirit-of-govhack-gold-coast.md b/_prizes/2016/qld/qld-spirit-of-govhack-gold-coast.md new file mode 100644 index 0000000..baa7d22 --- /dev/null +++ b/_prizes/2016/qld/qld-spirit-of-govhack-gold-coast.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- gold-coast +gid: qld-spirit-of-govhack-gold-coast +jurisdiction: qld +name: Spirit of GovHack Gold Coast +organisation_title: Telstra Runaway Bay +title: Spirit of GovHack Gold Coast +type: Spirit +--- + +Individual who best showed the GovHack spirit. + +# Prize +Samsung Galaxy Tab A + +# Eligibility Criteria +Be a participant at the Gold Coast GovHack event. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-sunshine-coast---commercialisation.md b/_prizes/2016/qld/qld-sunshine-coast---commercialisation.md new file mode 100644 index 0000000..2bd3a77 --- /dev/null +++ b/_prizes/2016/qld/qld-sunshine-coast---commercialisation.md @@ -0,0 +1,23 @@ +--- +category: local +events: +- sunshine-coast +gid: qld-sunshine-coast---commercialisation +jurisdiction: qld +name: Sunshine Coast - Commercialisation +organisation_title: Sunshine Coast Council & Noosa Council +projects: +- weather-balls +- community-companion +- future-proof +title: Sunshine Coast - Commercialisation +type: Theme +--- + +How might open data be used to created commercially viable business opportunities on the Sunshine Coast? + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +You must use at least one local datasets provided by Sunshine Coast Council, Noosa Council or Unity Water. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-sunshine-coast---community.md b/_prizes/2016/qld/qld-sunshine-coast---community.md new file mode 100644 index 0000000..7ce71fc --- /dev/null +++ b/_prizes/2016/qld/qld-sunshine-coast---community.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- sunshine-coast +gid: qld-sunshine-coast---community +jurisdiction: qld +name: Sunshine Coast - Community +organisation_title: Sunshine Coast Council & Noosa Council +projects: +- safenet +- weather-balls +- retirement-with-children +- community-companion +- the-good-old-life +- future-proof +title: Sunshine Coast - Community +type: Theme +--- + +How might open data be used to benefit the disadvantaged and/or provide significant benefit to key local community groups? + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +You must use at least one local datasets provided by Sunshine Coast Council, Noosa Council or Unity Water. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-sunshine-coast---sustainability.md b/_prizes/2016/qld/qld-sunshine-coast---sustainability.md new file mode 100644 index 0000000..8df3636 --- /dev/null +++ b/_prizes/2016/qld/qld-sunshine-coast---sustainability.md @@ -0,0 +1,22 @@ +--- +category: local +events: +- sunshine-coast +gid: qld-sunshine-coast---sustainability +jurisdiction: qld +name: Sunshine Coast - Sustainability +organisation_title: Sunshine Coast Council & Noosa Council +projects: +- weather-balls +- future-proof +title: Sunshine Coast - Sustainability +type: Theme +--- + +How might open data be used to achieve greater sustainability and/or better care and use of natural resources for benefit to the local community. + +# Prize +Cash up to the value of $1,000 + +# Eligibility Criteria +You must use at least one local datasets provided by Sunshine Coast Council, Noosa Council or Unity Water. \ No newline at end of file diff --git a/_prizes/2016/qld/qld-supporting-the-best-of-brisbane.md b/_prizes/2016/qld/qld-supporting-the-best-of-brisbane.md new file mode 100644 index 0000000..1f8d412 --- /dev/null +++ b/_prizes/2016/qld/qld-supporting-the-best-of-brisbane.md @@ -0,0 +1,71 @@ +--- +category: local +events: +- brisbane +- brisbane-youth +- brisbane-maker +gid: qld-supporting-the-best-of-brisbane +jurisdiction: qld +name: Supporting the Best of Brisbane +organisation: river-city-labs +organisation_title: River City Labs +projects: +- crikey!:-helping-your-community +- breathe-easy +- breathe-easy +- vectoring-brisbane +- vectoring-brisbane +- australia-go! +- australia-go! +- quickbus +- quickbus +- picspot +- picspot +- explore-the-great-barrier-reef +- spokesocial +- spokesocial +- jerbsngrowth +- mother-nature +- mother-nature +- evacumate +- evacumate +- bringing-data-to-the-table +- bringing-data-to-the-table +- city-quest +- mirai +- haidabloke +- haidabloke +- pedestimate +- pedestimate +- worldckans +- worldckans +- scan,-process,-share,-recreate +- qschools +- qschools +- innovationx +- time-walks +- time-walks +- whats-up-brisbane +- whats-up-brisbane +- fresh-plans +- fresh-plans +- unveil-the-scene +- unveil-the-scene +- life-explorer +- walked +- walked +- daaasgüd +- daaasgüd +- project-name-* +- project-name-* +title: Supporting the Best of Brisbane +type: Development +--- + +Best entry from Brisbane. Awarded to the best entrant from either the Brisbane Official Event, Brisbane Maker Node, or Brisbane Youth Node. + +# Prize +2x 3 month casual membership of River City Labs + +# Eligibility Criteria +Be a participants at one of the Brisbane events (Offical, Maker, Youth). \ No newline at end of file diff --git a/_prizes/2016/sa/sa-adelaide---best-in-location.md b/_prizes/2016/sa/sa-adelaide---best-in-location.md new file mode 100644 index 0000000..d0facb9 --- /dev/null +++ b/_prizes/2016/sa/sa-adelaide---best-in-location.md @@ -0,0 +1,42 @@ +--- +category: local +events: +- adelaide +gid: sa-adelaide---best-in-location +jurisdiction: sa +name: Adelaide - Best in location +organisation_title: Buddy +projects: +- traffic-jam +- greenu +- adelography---the-story-of-adelaide +- will-i-burn +- bad-snakes +- child-tracker +- smart-travel +- adelaide-smart-city-2020 +- smart-asset-management +- fivemind +- hup-adelaide +- the-driving-angel +- eventsa +- a-2-green +- developr +- what-are-you-afraid-of +- pulse +- r-u-open +- codename:orbit +- help-me +- splash +- first-names +title: Adelaide - Best in location +type: Best In +--- + +Best entry for the location of Adelaide + +# Prize +Cash or voucher prize(s) up to the value of $1000 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-adelaide-smart-city-state-champion.md b/_prizes/2016/sa/sa-adelaide-smart-city-state-champion.md new file mode 100644 index 0000000..faba397 --- /dev/null +++ b/_prizes/2016/sa/sa-adelaide-smart-city-state-champion.md @@ -0,0 +1,39 @@ +--- +category: state +gid: sa-adelaide-smart-city-state-champion +jurisdiction: sa +name: Adelaide Smart City State Champion +organisation_title: Department of State Development and Adelaide City Council +projects: +- traffic-jam +- greenu +- smartcare-innovations-hub +- cross-roads +- geo-spot +- walksafe +- unleashed-possibilities +- child-tracker +- smart-travel +- qrester +- adelaide-smart-city-2020 +- smart-asset-management +- the-driving-angel +- eventsa +- a-2-green +- developr +- pulse +- r-u-open +- what-lives-here +- help-me +- first-names +title: Adelaide Smart City State Champion +type: Theme +--- + +Best entry that uses technology to transform its infrastructure and make better use of energy, resources and services. + +# Prize +Award of $6,000 for the winning entry (administered by the Department of the Premier and Cabinet) linked to milestone deliverables agreed with the winning team after the competition. + +# Eligibility Criteria +The concept which is the most transformative. The winners must be willing to work with the Adelaide Smart City Studio. Must use South Australian data discoverable on https://data.sa.gov.au/. \ No newline at end of file diff --git "a/_prizes/2016/sa/sa-adelaide\302\240spirit-prize-2.md" "b/_prizes/2016/sa/sa-adelaide\302\240spirit-prize-2.md" new file mode 100644 index 0000000..84354bc --- /dev/null +++ "b/_prizes/2016/sa/sa-adelaide\302\240spirit-prize-2.md" @@ -0,0 +1,19 @@ +--- +category: local +events: +- adelaide +gid: sa-adelaide spirit-prize-2 +jurisdiction: sa +name: Adelaide Spirit Prize +organisation_title: Data to Decision +title: Adelaide Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Westfield voucher up to the value of $500 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git "a/_prizes/2016/sa/sa-adelaide\302\240spirit-prize.md" "b/_prizes/2016/sa/sa-adelaide\302\240spirit-prize.md" new file mode 100644 index 0000000..d9aa9e4 --- /dev/null +++ "b/_prizes/2016/sa/sa-adelaide\302\240spirit-prize.md" @@ -0,0 +1,19 @@ +--- +category: local +events: +- adelaide +gid: sa-adelaide spirit-prize +jurisdiction: sa +name: Adelaide Spirit Prize +organisation_title: Data to Decision +title: Adelaide Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Westfield voucher up to the value of $500 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-australian-computer-society-development-prize.md b/_prizes/2016/sa/sa-australian-computer-society-development-prize.md new file mode 100644 index 0000000..c769a6f --- /dev/null +++ b/_prizes/2016/sa/sa-australian-computer-society-development-prize.md @@ -0,0 +1,24 @@ +--- +category: local +events: +- adelaide +gid: sa-australian-computer-society-development-prize +jurisdiction: sa +name: Australian Computer Society Development Prize +organisation: australian-computer-society +organisation_title: Australian Computer Society +projects: +- smart-asset-management +- the-driving-angel +- splash +title: Australian Computer Society Development Prize +type: Development +--- + +Best entry that would benefit from this prize. + +# Prize +Up to 5 x one year ACS memberships for one winning team + +# Eligibility Criteria +Awarded by the location sponsors and ACS to the most appropirate entry. Nominate for this category if you would benefit from this prize. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-best-maker.md b/_prizes/2016/sa/sa-best-maker.md new file mode 100644 index 0000000..223541d --- /dev/null +++ b/_prizes/2016/sa/sa-best-maker.md @@ -0,0 +1,25 @@ +--- +category: state +gid: sa-best-maker +jurisdiction: sa +name: Best Maker +organisation_title: Department of State Development and Adelaide City Council +projects: +- greenu +- bad-snakes +- the-driving-angel +- touri +- sweet-beginnings +- pom-pom-pie-charts +- what-lives-here +title: Best Maker +type: Theme +--- + +The best entry where makers, artists and crafters build machines and art that is driven by, reacts to and is inspired by data. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-connecting-across-sa.md b/_prizes/2016/sa/sa-connecting-across-sa.md new file mode 100644 index 0000000..bb5b8e8 --- /dev/null +++ b/_prizes/2016/sa/sa-connecting-across-sa.md @@ -0,0 +1,45 @@ +--- +category: state +gid: sa-connecting-across-sa +jurisdiction: sa +name: Connecting Across SA +organisation_title: Department of Environment, Water and Natural Resources +projects: +- tchke +- greenu +- adelography---the-story-of-adelaide +- finding-forgotten-fauna +- smartcare-innovations-hub +- cross-roads +- geo-spot +- wynaut---historycal-picture-viewer +- smart-travel +- qrester +- w_i_n_e +- adelaide-smart-city-2020 +- smart-asset-management +- fivemind +- data-for-social-change-update +- the-driving-angel +- eventsa +- fish-r-us +- touri +- tribes +- wherizit +- sweet-beginnings +- r-u-open +- what-lives-here +- help-me +- activesa +- first-names +title: Connecting Across SA +type: Theme +--- + +The best entry that supports connecting our regions. The winning entry will build on the strength of our regions. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-growing-up-healthy.md b/_prizes/2016/sa/sa-growing-up-healthy.md new file mode 100644 index 0000000..5a4f3db --- /dev/null +++ b/_prizes/2016/sa/sa-growing-up-healthy.md @@ -0,0 +1,34 @@ +--- +category: state +gid: sa-growing-up-healthy +jurisdiction: sa +name: Growing up Healthy +organisation_title: Department of Education and Child Development +projects: +- greenu +- smartcare-innovations-hub +- cross-roads +- walksafe +- bad-snakes +- child-tracker +- qrester +- edudrugs +- smart-asset-management +- safety-tracker +- what-are-you-afraid-of +- huffless-n-puffless +- our-story-~-your-story +- help-me +- activesa +- rush-adventure +title: Growing up Healthy +type: Theme +--- + +The best entry that supports youth health and wellbeing. The winning entry appeals to young people. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-helping-those-who-need-it.md b/_prizes/2016/sa/sa-helping-those-who-need-it.md new file mode 100644 index 0000000..4bebd16 --- /dev/null +++ b/_prizes/2016/sa/sa-helping-those-who-need-it.md @@ -0,0 +1,36 @@ +--- +category: state +gid: sa-helping-those-who-need-it +jurisdiction: sa +name: Helping those who need it +organisation_title: Attorney-General’s Department +projects: +- greenu +- smartcare-innovations-hub +- walksafe +- bad-snakes +- smart-travel +- edudrugs +- smart-asset-management +- data-for-social-change-update +- disaster-watch +- hup-adelaide +- safety-tracker +- a-2-green +- huffless-n-puffless +- r-u-open +- our-story-~-your-story +- codename:orbit +- help-me +- activesa +title: Helping those who need it +type: Theme +--- + +The best entry that helps families to go about their lives. Consider everyday pressures and affordable living options. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-jemsoft-technology-development-prize.md b/_prizes/2016/sa/sa-jemsoft-technology-development-prize.md new file mode 100644 index 0000000..0efe481 --- /dev/null +++ b/_prizes/2016/sa/sa-jemsoft-technology-development-prize.md @@ -0,0 +1,29 @@ +--- +category: local +events: +- adelaide +gid: sa-jemsoft-technology-development-prize +jurisdiction: sa +name: Jemsoft Technology Development Prize +organisation: jemsoft +organisation_title: Jemsoft +projects: +- smart-asset-management +- fivemind +- the-driving-angel +- developr +- pulse +- r-u-open +- mysa +- aquadex +title: Jemsoft Technology Development Prize +type: Development +--- + +Best entry that would benefit from this prize. + +# Prize +Monocular Computer Vision (API usage ) to power the winning team solution for 6 months to the value $10,000 + +# Eligibility Criteria +Awarded by the location sponsors and Jemsoft to the most appropirate entry.Nominate for this category if you would benefit from this prize. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-mount-gambier---best-in-location.md b/_prizes/2016/sa/sa-mount-gambier---best-in-location.md new file mode 100644 index 0000000..aab5279 --- /dev/null +++ b/_prizes/2016/sa/sa-mount-gambier---best-in-location.md @@ -0,0 +1,29 @@ +--- +category: local +events: +- mount-gambier-youth +gid: sa-mount-gambier---best-in-location +jurisdiction: sa +name: Mount Gambier - Best in location +organisation: city-of-mount-gambier +organisation_title: City of Mount Gambier +projects: +- finding-forgotten-fauna +- walksafe +- touri +- huffless-n-puffless +- wherizit +- sweet-beginnings +- our-story-~-your-story +- activesa +title: Mount Gambier - Best in location +type: Best In +--- + +Best entry for the location of Mt Gambier (Adult) + +# Prize +Harvey Norman Voucher up to $1000 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-mount-gambier---best-youth-team-in-location.md b/_prizes/2016/sa/sa-mount-gambier---best-youth-team-in-location.md new file mode 100644 index 0000000..93bbc0c --- /dev/null +++ b/_prizes/2016/sa/sa-mount-gambier---best-youth-team-in-location.md @@ -0,0 +1,25 @@ +--- +category: local +events: +- mount-gambier-youth +gid: sa-mount-gambier---best-youth-team-in-location +jurisdiction: sa +name: Mount Gambier - Best Youth Team in location +organisation_title: Friends of the Library +projects: +- walksafe +- disaster-watch +- touri +- huffless-n-puffless +- activesa +title: Mount Gambier - Best Youth Team in location +type: Best In +--- + +Best entry for the location of Mt Gambier (Youth) + +# Prize +Harvey Norman Voucher up to $1000 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-mount-gambier-best-youth-spirit-prize.md b/_prizes/2016/sa/sa-mount-gambier-best-youth-spirit-prize.md new file mode 100644 index 0000000..7c76985 --- /dev/null +++ b/_prizes/2016/sa/sa-mount-gambier-best-youth-spirit-prize.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- mount-gambier-youth +gid: sa-mount-gambier-best-youth-spirit-prize +jurisdiction: sa +name: Mount Gambier Best Youth Spirit Prize +organisation: harvey-norman +organisation_title: Harvey Norman +title: Mount Gambier Best Youth Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Harvey Norman Voucher up to $200 + +# Eligibility Criteria +Awarded by the crew to a youth participant at each location at closing of the competition weekend. diff --git a/_prizes/2016/sa/sa-mount-gambier-spirit-prize.md b/_prizes/2016/sa/sa-mount-gambier-spirit-prize.md new file mode 100644 index 0000000..89db366 --- /dev/null +++ b/_prizes/2016/sa/sa-mount-gambier-spirit-prize.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- mount-gambier-youth +gid: sa-mount-gambier-spirit-prize +jurisdiction: sa +name: Mount Gambier Spirit Prize +organisation: green-triangle-electronics +organisation_title: Green Triangle Electronics +title: Mount Gambier Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Harvey Norman voucher up to $200 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. diff --git a/_prizes/2016/sa/sa-neighbourhood-and-community-confidence.md b/_prizes/2016/sa/sa-neighbourhood-and-community-confidence.md new file mode 100644 index 0000000..b13d3d6 --- /dev/null +++ b/_prizes/2016/sa/sa-neighbourhood-and-community-confidence.md @@ -0,0 +1,37 @@ +--- +category: state +gid: sa-neighbourhood-and-community-confidence +jurisdiction: sa +name: Neighbourhood and Community Confidence +organisation_title: Attorney-General's Department +projects: +- greenu +- adelography---the-story-of-adelaide +- smartcare-innovations-hub +- cross-roads +- geo-spot +- walksafe +- bad-snakes +- child-tracker +- smart-travel +- smart-asset-management +- data-for-social-change-update +- the-driving-angel +- what-are-you-afraid-of +- r-u-open +- our-story-~-your-story +- codename:orbit +- help-me +- splash +- aquadex +title: Neighbourhood and Community Confidence +type: Theme +--- + +The best entry that promotes neighbourhood safey and increases community confidence. Everyone deserves the right to go about their daily lives safely and without the fear of crime. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ and at least one data set published by AGD, available at http://data.sa.gov.au/data/organization/attorney-general-s-dept \ No newline at end of file diff --git a/_prizes/2016/sa/sa-onkaparinga---best-in-location.md b/_prizes/2016/sa/sa-onkaparinga---best-in-location.md new file mode 100644 index 0000000..61b422e --- /dev/null +++ b/_prizes/2016/sa/sa-onkaparinga---best-in-location.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- onkaparinga +gid: sa-onkaparinga---best-in-location +jurisdiction: sa +name: Onkaparinga - Best in location +organisation: city-of-onkaparinga +organisation_title: City of Onkaparinga +projects: +- tchke +- geo-spot +- attack-of-the-pink-fluffy-unicorns. +- aboriginal-employment-art +- fish-r-us +title: Onkaparinga - Best in location +type: Best In +--- + +Best entry for the location of Onkaparinga (Adult) + +# Prize +Hardware or vouchers up up to the value of $500 + +# Eligibility Criteria +Awarded by the location sponsors to the best adult entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-onkaparinga---best-youth-team-in-location.md b/_prizes/2016/sa/sa-onkaparinga---best-youth-team-in-location.md new file mode 100644 index 0000000..6734025 --- /dev/null +++ b/_prizes/2016/sa/sa-onkaparinga---best-youth-team-in-location.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- onkaparinga +gid: sa-onkaparinga---best-youth-team-in-location +jurisdiction: sa +name: Onkaparinga - Best Youth Team in location +organisation: city-of-onkaparinga +organisation_title: City of Onkaparinga +projects: +- tchke +- geo-spot +- attack-of-the-pink-fluffy-unicorns. +- aboriginal-employment-art +- fish-r-us +title: Onkaparinga - Best Youth Team in location +type: Best In +--- + +Best entry for the location of Onkaparinga (Youth) + +# Prize +Hardware or vouchers up up to the value of $500 + +# Eligibility Criteria +Awarded by the location sponsors to the best youth entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-onkaparinga-spirit-prize.md b/_prizes/2016/sa/sa-onkaparinga-spirit-prize.md new file mode 100644 index 0000000..11906d9 --- /dev/null +++ b/_prizes/2016/sa/sa-onkaparinga-spirit-prize.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- onkaparinga +gid: sa-onkaparinga-spirit-prize +jurisdiction: sa +name: Onkaparinga Spirit Prize +organisation: seaford-secondary-college +organisation_title: Seaford Secondary College +title: Onkaparinga Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Cash or Voucher up up to the value of $200 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-playford---best-in-location.md b/_prizes/2016/sa/sa-playford---best-in-location.md new file mode 100644 index 0000000..e04dc18 --- /dev/null +++ b/_prizes/2016/sa/sa-playford---best-in-location.md @@ -0,0 +1,27 @@ +--- +category: local +events: +- playford +gid: sa-playford---best-in-location +jurisdiction: sa +name: Playford - Best in location +organisation: city-of-playford +organisation_title: City of Playford +projects: +- wynaut---historycal-picture-viewer +- unleashed-possibilities +- qrester +- w_i_n_e +- edudrugs +- tribes +title: Playford - Best in location +type: Best In +--- + +Best entry for the location of Playford (Adult) + +# Prize +Hardware or vouchers up to the value of $500 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-playford---best-youth-team-in-location.md b/_prizes/2016/sa/sa-playford---best-youth-team-in-location.md new file mode 100644 index 0000000..4f405d2 --- /dev/null +++ b/_prizes/2016/sa/sa-playford---best-youth-team-in-location.md @@ -0,0 +1,23 @@ +--- +category: local +events: +- playford +gid: sa-playford---best-youth-team-in-location +jurisdiction: sa +name: Playford - Best Youth Team in location +organisation: city-of-playford +organisation_title: City of Playford +projects: +- qrester +- tribes +title: Playford - Best Youth Team in location +type: Best In +--- + +Best entry for the location of Playford (Youth) + +# Prize +Cash or vouchers up up to the value of $500 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-playford-spirit-prize.md b/_prizes/2016/sa/sa-playford-spirit-prize.md new file mode 100644 index 0000000..2257c22 --- /dev/null +++ b/_prizes/2016/sa/sa-playford-spirit-prize.md @@ -0,0 +1,20 @@ +--- +category: local +events: +- playford +gid: sa-playford-spirit-prize +jurisdiction: sa +name: Playford Spirit Prize +organisation: stretton-centre +organisation_title: Stretton Centre +title: Playford Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +3D Virtual Reality VR Box and Google Glasses up up to the value of $100 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-port-adelaide-enfield---best-in-location.md b/_prizes/2016/sa/sa-port-adelaide-enfield---best-in-location.md new file mode 100644 index 0000000..b77dd66 --- /dev/null +++ b/_prizes/2016/sa/sa-port-adelaide-enfield---best-in-location.md @@ -0,0 +1,22 @@ +--- +category: local +events: +- port-adelaide-enfield +gid: sa-port-adelaide-enfield---best-in-location +jurisdiction: sa +name: Port Adelaide Enfield - Best in location +organisation: city-of-port-adelaide-enfield +organisation_title: City of Port Adelaide Enfield +projects: +- rush-adventure +title: Port Adelaide Enfield - Best in location +type: Best In +--- + +Best entry for the location of Port Adelaide Enfield + +# Prize +Hardware or vouchers up up to the value of $500 + +# Eligibility Criteria +Awarded by the location sponsors to the best entry for the location. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant-2.md b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant-2.md new file mode 100644 index 0000000..056e74a --- /dev/null +++ b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant-2.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- port-adelaide-enfield +gid: sa-port-adelaide-enfield-spirit-prize---best-participant-2 +jurisdiction: sa +name: Port Adelaide Enfield Spirit Prize - Best Participant +organisation_title: Bendigo Bank +title: Port Adelaide Enfield Spirit Prize - Best Participant +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Student Saver Account up to the value of $100 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant.md b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant.md new file mode 100644 index 0000000..2ba1c95 --- /dev/null +++ b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize---best-participant.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- port-adelaide-enfield +gid: sa-port-adelaide-enfield-spirit-prize---best-participant +jurisdiction: sa +name: Port Adelaide Enfield Spirit Prize - Best Participant +organisation_title: Bendigo Bank +title: Port Adelaide Enfield Spirit Prize - Best Participant +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +Student Saver Account up to the value of $100 + +# Eligibility Criteria +Awarded by the crew to a participant at each location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize.md b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize.md new file mode 100644 index 0000000..c7dc100 --- /dev/null +++ b/_prizes/2016/sa/sa-port-adelaide-enfield-spirit-prize.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- port-adelaide-enfield +gid: sa-port-adelaide-enfield-spirit-prize +jurisdiction: sa +name: Port Adelaide Enfield Spirit Prize +organisation_title: Microbric Pty Ltd +title: Port Adelaide Enfield Spirit Prize +type: Spirit +--- + +Contributed to a positive experience for all through sharing, caring and actively participating. + +# Prize +5 Edison Robots valued up to $1000 + +# Eligibility Criteria +Awarded by the crew to the best team at the location at closing of the competition weekend. \ No newline at end of file diff --git a/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-business-sa-and-chiliad-consulting.md b/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-business-sa-and-chiliad-consulting.md new file mode 100644 index 0000000..1f9a07a --- /dev/null +++ b/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-business-sa-and-chiliad-consulting.md @@ -0,0 +1,46 @@ +--- +category: state +gid: sa-premiers-prize-co-sponsored-by-business-sa-and-chiliad-consulting +jurisdiction: sa +name: Premier's Prize co-sponsored by Business SA and Chiliad Consulting +organisation_title: Department of the Premier and Cabinet, Business SA and Chiliad Consulting +projects: +- tchke +- traffic-jam +- greenu +- finding-forgotten-fauna +- smartcare-innovations-hub +- smart-travel +- qrester +- adelaide-smart-city-2020 +- edudrugs +- smart-asset-management +- fivemind +- data-for-social-change-update +- hup-adelaide +- the-driving-angel +- safety-tracker +- touri +- developr +- pulse +- wherizit +- r-u-open +- what-lives-here +- codename:orbit +- help-me +- activesa +- mysa +- splash +- aquadex +- first-names +title: Premier's Prize co-sponsored by Business SA and Chiliad Consulting +type: Development +--- + +The best entry with the most potential to create valuable outcomes for the community. The winning team must be willing to receive mentoring from Business SA and Chiliad Consulting and be prepared to develop their concept with this support. This prize will be linked to delierables beyond the competition. + +# Prize +$10,000 cash (administered by the Department of the Premier and Cabinet) linked to milestone deliverables, entry into the Business SA 'Business Starter Program' with 12 months of Business SA membership and consultation servies up to the value of $10,000 and $5,000 in mentoring from Chilliad Consulting. + +# Eligibility Criteria +The concept which best provides community benefit. The winners must be willing to receive guidance from Business SA and Chiliad Consulting. This prize will be linked to key deliverables so a willingness to develop the concept further is required. Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-microsoft.md b/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-microsoft.md new file mode 100644 index 0000000..0efb072 --- /dev/null +++ b/_prizes/2016/sa/sa-premiers-prize-co-sponsored-by-microsoft.md @@ -0,0 +1,46 @@ +--- +category: state +gid: sa-premiers-prize-co-sponsored-by-microsoft +jurisdiction: sa +name: Premier's Prize co-sponsored by Microsoft +organisation_title: Department of the Premier and Cabinet and Microsoft +projects: +- tchke +- traffic-jam +- greenu +- finding-forgotten-fauna +- smartcare-innovations-hub +- geo-spot +- smart-travel +- qrester +- adelaide-smart-city-2020 +- edudrugs +- smart-asset-management +- fivemind +- hup-adelaide +- the-driving-angel +- safety-tracker +- touri +- developr +- pulse +- wherizit +- r-u-open +- what-lives-here +- codename:orbit +- help-me +- activesa +- mysa +- splash +- aquadex +- first-names +title: Premier's Prize co-sponsored by Microsoft +type: Development +--- + +The best adult entry with world scalabillity. The winning team must be willing to participate in the Microsoft program called BizSpark and be prepared to develop their concept with support from Microsoft. + +# Prize +$10,000 cash (administered by the Department of the Premier and Cabinet) linked to milestone deliverables and entry in the Microsoft BizSpark Program up to the value of $27,000 including technology, cloud tools, support and mentoring from Microsoft. + +# Eligibility Criteria +The most commercially viable concept. The winners must be willing to undertake the sponsor partner Program offering called BizSpark. This prize will be linked to key deliverables so a willingness to develop the concept further is required. Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-protecting-our-environment.md b/_prizes/2016/sa/sa-protecting-our-environment.md new file mode 100644 index 0000000..cc739d0 --- /dev/null +++ b/_prizes/2016/sa/sa-protecting-our-environment.md @@ -0,0 +1,29 @@ +--- +category: state +gid: sa-protecting-our-environment +jurisdiction: sa +name: Protecting our Environment +organisation_title: Department of Water, Environment and Natural Resources +projects: +- traffic-jam +- finding-forgotten-fauna +- will-i-burn +- unleashed-possibilities +- smart-travel +- smart-asset-management +- fivemind +- disaster-watch +- fish-r-us +- a-2-green +- aquadex +title: Protecting our Environment +type: Theme +--- + +The best entry that takes environmental protection and climate change seriously. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ and at least one data set published by DEWNR, available at http://data.sa.gov.au/data/organization/dept-of-environment-water-and-natural-resources \ No newline at end of file diff --git a/_prizes/2016/sa/sa-safe-travel.md b/_prizes/2016/sa/sa-safe-travel.md new file mode 100644 index 0000000..5ee3b1f --- /dev/null +++ b/_prizes/2016/sa/sa-safe-travel.md @@ -0,0 +1,33 @@ +--- +category: state +gid: sa-safe-travel +jurisdiction: sa +name: Safe Travel +organisation: motor-accident-commission +organisation_title: Motor Accident Commission +projects: +- tchke +- cross-roads +- geo-spot +- walksafe +- child-tracker +- smart-travel +- smart-asset-management +- the-driving-angel +- eventsa +- safety-tracker +- touri +- a-2-green +- mysa +- aquadex +title: Safe Travel +type: Theme +--- + +The best entry that promotes road safety behaviour change and education, and is dedicated to the safety of all South Australian road users. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-smart-lifestyles.md b/_prizes/2016/sa/sa-smart-lifestyles.md new file mode 100644 index 0000000..2504f31 --- /dev/null +++ b/_prizes/2016/sa/sa-smart-lifestyles.md @@ -0,0 +1,41 @@ +--- +category: state +gid: sa-smart-lifestyles +jurisdiction: sa +name: Smart Lifestyles +organisation_title: Adelaide City Council and Department of State Development +projects: +- greenu +- smartcare-innovations-hub +- cross-roads +- geo-spot +- walksafe +- bad-snakes +- smart-travel +- qrester +- adelaide-smart-city-2020 +- smart-asset-management +- touch +- the-driving-angel +- safety-tracker +- touri +- a-2-green +- developr +- huffless-n-puffless +- r-u-open +- digihealth-plus +- help-me +- activesa +- splash +- aquadex +title: Smart Lifestyles +type: Theme +--- + +The best entry that support South Australians to enjoy a high quality life in one of the most liveable cities in the world. The winning entry will consider access the internet of things. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ and at least one data set published by the ACC http://data.sa.gov.au/data/organization/adelaide-city-council \ No newline at end of file diff --git a/_prizes/2016/sa/sa-storytelling-with-a-difference.md b/_prizes/2016/sa/sa-storytelling-with-a-difference.md new file mode 100644 index 0000000..1084293 --- /dev/null +++ b/_prizes/2016/sa/sa-storytelling-with-a-difference.md @@ -0,0 +1,34 @@ +--- +category: state +gid: sa-storytelling-with-a-difference +jurisdiction: sa +name: Storytelling with a Difference +organisation_title: Department of the Premier and Cabinet +projects: +- pathfinder +- greenu +- adelography---the-story-of-adelaide +- finding-forgotten-fauna +- geo-spot +- wynaut---historycal-picture-viewer +- child-tracker +- qrester +- attack-of-the-pink-fluffy-unicorns. +- smart-asset-management +- data-for-social-change-update +- safety-tracker +- tribes +- sweet-beginnings +- pom-pom-pie-charts +- our-story-~-your-story +title: Storytelling with a Difference +type: Theme +--- + +The best entry that uses data to create works of art that tell a story in any form. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-supporting-sa-economy.md b/_prizes/2016/sa/sa-supporting-sa-economy.md new file mode 100644 index 0000000..efc2c9d --- /dev/null +++ b/_prizes/2016/sa/sa-supporting-sa-economy.md @@ -0,0 +1,39 @@ +--- +category: state +gid: sa-supporting-sa-economy +jurisdiction: sa +name: Supporting SA Economy +organisation_title: Department of State Development +projects: +- pathfinder +- greenu +- adelography---the-story-of-adelaide +- smartcare-innovations-hub +- cross-roads +- geo-spot +- unleashed-possibilities +- qrester +- w_i_n_e +- adelaide-smart-city-2020 +- smart-asset-management +- touch +- fivemind +- the-driving-angel +- eventsa +- touri +- tribes +- r-u-open +- codename:orbit +- splash +- aquadex +title: Supporting SA Economy +type: Theme +--- + +The best entry that supports new and growth industries. The winning entry has the most potential to create jobs, investment, international business, students to study in SA or visitors to SA. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/sa/sa-vibrant-adelaide.md b/_prizes/2016/sa/sa-vibrant-adelaide.md new file mode 100644 index 0000000..46351b8 --- /dev/null +++ b/_prizes/2016/sa/sa-vibrant-adelaide.md @@ -0,0 +1,40 @@ +--- +category: state +gid: sa-vibrant-adelaide +jurisdiction: sa +name: Vibrant Adelaide +organisation: adelaide-city-council +organisation_title: Adelaide City Council +projects: +- greenu +- adelography---the-story-of-adelaide +- smartcare-innovations-hub +- cross-roads +- geo-spot +- qrester +- adelaide-smart-city-2020 +- smart-asset-management +- the-driving-angel +- eventsa +- safety-tracker +- touri +- a-2-green +- developr +- pulse +- sweet-beginnings +- r-u-open +- activesa +- rush-adventure +- splash +- aquadex +title: Vibrant Adelaide +type: Theme +--- + +The best entry that promotes Adelaide as a vibrant city. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use South Australian data discoverable on https://data.sa.gov.au/ and at least one data set published by the ACC http://data.sa.gov.au/data/organization/adelaide-city-council \ No newline at end of file diff --git a/_prizes/2016/sa/sa-youth-state-champion.md b/_prizes/2016/sa/sa-youth-state-champion.md new file mode 100644 index 0000000..05fc1a6 --- /dev/null +++ b/_prizes/2016/sa/sa-youth-state-champion.md @@ -0,0 +1,30 @@ +--- +category: state +gid: sa-youth-state-champion +jurisdiction: sa +name: Youth State Champion +organisation_title: Department of Education and Child Development and Motor Accident Commission +projects: +- tchke +- geo-spot +- walksafe +- bad-snakes +- child-tracker +- qrester +- attack-of-the-pink-fluffy-unicorns. +- safety-tracker +- fish-r-us +- touri +- activesa +- rush-adventure +title: Youth State Champion +type: Development +--- + +The best aspiring NextGen Entrepreneurs. The team entry demonstrating the most potential and a willingness to learn. Willingness to undertake an entrepreunirial workshop with NVI for up to 30 youth. + +# Prize +NVI program for up to 30 students up to the value of $10,000 sponsored by the Department of Education and Child Development and the Department of Premier and Cabinet. The offering includes bespoke development of entrepreneurship workshop for winning high school entrants. + +# Eligibility Criteria +The NextGen team with the best concept. The winning team will demonstrate strong team work and willingness to learn. The concept will demonstrate highly technical capability within the team. Must use South Australian data discoverable on https://data.sa.gov.au/ \ No newline at end of file diff --git a/_prizes/2016/tas/tas-best-data-visualisation.md b/_prizes/2016/tas/tas-best-data-visualisation.md new file mode 100644 index 0000000..4ffb623 --- /dev/null +++ b/_prizes/2016/tas/tas-best-data-visualisation.md @@ -0,0 +1,36 @@ +--- +category: state +gid: tas-best-data-visualisation +jurisdiction: tas +name: Best Data Visualisation +organisation: sense-t +organisation_title: Sense-T +projects: +- staying-the-course +- stem,-australia +- binthere +- health-hack +- on-the-move +- sizzlerig +- agricultura +- migrant-settlement-and-job-australia-data-visualiser +- air-bubble +- mission:-attrition +- smarter-training +- beat-the-press +- tasmap.org +- -dash- +- put-a-bird-on-it +title: Best Data Visualisation +type: Theme +--- + +Best Data Visualisation + +The project that best visualises a data set. This might go to a pure data visualisation project, or a project that includes data visualisation as part of a larger idea. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least one Tasmanian Government open datasets. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-best-use-of-tasmanian-local-council-open-data.md b/_prizes/2016/tas/tas-best-use-of-tasmanian-local-council-open-data.md new file mode 100644 index 0000000..3fbf641 --- /dev/null +++ b/_prizes/2016/tas/tas-best-use-of-tasmanian-local-council-open-data.md @@ -0,0 +1,24 @@ +--- +category: state +gid: tas-best-use-of-tasmanian-local-council-open-data +jurisdiction: tas +name: Best Use of Tasmanian Local Council Open Data +organisation_title: HCC & GCC +projects: +- binthere +- delugional +- tasmap.org +- payparking.online +title: Best Use of Tasmanian Local Council Open Data +type: Theme +--- + +Best Use of Tasmanian Local Council Open Data + +The best project that uses Tasmanian local council data sets as part of its composition. The project that wins this category will likely be one with a local focus, that uses local data sets predominantly, but a more broad project that still uses local council data effectively would also be a contender. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must use at least one Tasmanian Local Government open datasets. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-design-excellence.md b/_prizes/2016/tas/tas-design-excellence.md new file mode 100644 index 0000000..72cb5f6 --- /dev/null +++ b/_prizes/2016/tas/tas-design-excellence.md @@ -0,0 +1,27 @@ +--- +category: state +gid: tas-design-excellence +jurisdiction: tas +name: Design Excellence +organisation: tasict +organisation_title: TasICT +projects: +- stem,-australia +- binthere +- mission:-attrition +- beat-the-press +- tasmap.org +- powering-australia +title: Design Excellence +type: Theme +--- + +Design Excellence + +The project that most excels in design. This might be visual design, user experience, or a combination of the two. + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +Must use at least one official datasets \ No newline at end of file diff --git a/_prizes/2016/tas/tas-encouragement-award.md b/_prizes/2016/tas/tas-encouragement-award.md new file mode 100644 index 0000000..fac0471 --- /dev/null +++ b/_prizes/2016/tas/tas-encouragement-award.md @@ -0,0 +1,20 @@ +--- +category: state +gid: tas-encouragement-award +jurisdiction: tas +name: Encouragement Award +organisation: tasmanet +organisation_title: Tasmanet +title: Encouragement Award +type: Best In +--- + +Team Encouragement Award + +An award for the team that made a valiant attempt, learnt the most, or is otherwise deserving of further encouragement. This award will usually go to a junior team (high school or college students), but this isn't a requirement. It's for the team who has a go and is willing to go out of their comfort zone and try something new, even if it doesn't work out in the long run. + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +No special requirements diff --git a/_prizes/2016/tas/tas-most-commercial-potential.md b/_prizes/2016/tas/tas-most-commercial-potential.md new file mode 100644 index 0000000..ed7a08e --- /dev/null +++ b/_prizes/2016/tas/tas-most-commercial-potential.md @@ -0,0 +1,23 @@ +--- +category: state +gid: tas-most-commercial-potential +jurisdiction: tas +name: Most Commercial Potential +organisation_title: Tasmanian State Government +projects: +- binthere +- smarter-training +- beat-the-press +- tasmap.org +- payparking.online +title: Most Commercial Potential +type: Development +--- + +Most Commercial Potential + +# Prize +Access to a coworking space and business accelerator program in Hobart/Launceston and mentoring to either continue with the GovHack project or learn something new. Valued at $5,000 + +# Eligibility Criteria +The project that has the most commercial potential. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-most-disruptive-innovation.md b/_prizes/2016/tas/tas-most-disruptive-innovation.md new file mode 100644 index 0000000..1b66cbf --- /dev/null +++ b/_prizes/2016/tas/tas-most-disruptive-innovation.md @@ -0,0 +1,23 @@ +--- +category: state +gid: tas-most-disruptive-innovation +jurisdiction: tas +name: Most Disruptive Innovation +organisation_title: ACS +projects: +- binthere +- mission:-attrition +- smarter-training +- beat-the-press +- payparking.online +title: Most Disruptive Innovation +type: Theme +--- + +Most Disruptive Innovation + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +The project that seems to have the most disruptive potential. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-most-outstanding-tasmanian-benefit.md b/_prizes/2016/tas/tas-most-outstanding-tasmanian-benefit.md new file mode 100644 index 0000000..9688cb6 --- /dev/null +++ b/_prizes/2016/tas/tas-most-outstanding-tasmanian-benefit.md @@ -0,0 +1,27 @@ +--- +category: state +gid: tas-most-outstanding-tasmanian-benefit +jurisdiction: tas +name: Most Outstanding Tasmanian Benefit +organisation_title: Tasmanian State Government +projects: +- binthere +- delugional +- air-bubble +- mission:-attrition +- smarter-training +- beat-the-press +- tasmap.org +title: Most Outstanding Tasmanian Benefit +type: Theme +--- + +Most Outstanding Tasmanian Benefit + +The project that has the most clear benefit for Tasmania/Tasmanians. + +# Prize +Award of $1,000 to the winning team + +# Eligibility Criteria +No special data set requirements, though this prize will likely go to a project that uses Tasmanian Government open data sets. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-spirit-of-govhack-hobart.md b/_prizes/2016/tas/tas-spirit-of-govhack-hobart.md new file mode 100644 index 0000000..354c34a --- /dev/null +++ b/_prizes/2016/tas/tas-spirit-of-govhack-hobart.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- hobart +gid: tas-spirit-of-govhack-hobart +jurisdiction: tas +name: Spirit of GovHack Hobart +organisation_title: GovHack +title: Spirit of GovHack Hobart +type: Spirit +--- + +Spirit of GovHack + +# Prize +$100 Voucher or Cash + +# Eligibility Criteria +Spirit of GovHack Award. \ No newline at end of file diff --git a/_prizes/2016/tas/tas-spirit-of-govhack-launceston.md b/_prizes/2016/tas/tas-spirit-of-govhack-launceston.md new file mode 100644 index 0000000..2028b21 --- /dev/null +++ b/_prizes/2016/tas/tas-spirit-of-govhack-launceston.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- launceston +gid: tas-spirit-of-govhack-launceston +jurisdiction: tas +name: Spirit of GovHack Launceston +organisation_title: GovHack +title: Spirit of GovHack Launceston +type: Spirit +--- + +Spirit of GovHack + +# Prize +$100 Voucher or Cash + +# Eligibility Criteria +Spirit of GovHack Award. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-best-use-of-ballarat-data.md b/_prizes/2016/vic/vic-best-use-of-ballarat-data.md new file mode 100644 index 0000000..851530e --- /dev/null +++ b/_prizes/2016/vic/vic-best-use-of-ballarat-data.md @@ -0,0 +1,33 @@ +--- +category: local +events: +- ballarat +gid: vic-best-use-of-ballarat-data +jurisdiction: vic +name: Best Use of Ballarat Data +organisation: city-of-ballarat +organisation_title: City of Ballarat +projects: +- párko +- ballaratgo +- wheretonext +- factr +- go-park-yourself +- local-hero +title: Best Use of Ballarat Data +type: Theme +--- + +It is important to identify the relative location of services and facilities used by residents (such as kindergarten, child care, school, work, playgroup, sport & recreation, GP / health practitioners, shopping) with respect to where they live. That is, are members of our community accessing services in their local neighbourhood? If not, are there patterns of travel? This will help to identify how services and facilities are being used now and where they need to be located in the future. + +Information that may come in handy: + +Data – City of Ballarat data is hosted on www.data.gov.au, with state government information at www.data.vic.gov.au. The ABS also publish information at www.abs.gov.au. + +Judging for this challenge will be on the concept of your hack. This challenge is not just limited to applications but could include visualisations, or any tool you may think of – we will leave that one to you. The team who is judged to have the best concept will receive $1000. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Data – City of Ballarat data is hosted on www.data.gov.au, with state government information at www.data.vic.gov.au. The ABS also publish information at www.abs.gov.au. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-de-identification.md b/_prizes/2016/vic/vic-de-identification.md new file mode 100644 index 0000000..b58b5c0 --- /dev/null +++ b/_prizes/2016/vic/vic-de-identification.md @@ -0,0 +1,21 @@ +--- +category: state +gid: vic-de-identification +jurisdiction: vic +name: De Identification +organisation_title: Victorian Government - Dept Justice and Regulation and the Commissioner for Privacy and Data Protection +projects: +- informed-personas +- zr0data +title: De Identification +type: Theme +--- + +How might we find ways of unlocking value in data without compromising privacy? +The Victorian Government recognises the benefits from enabling public access to government data, but not all data is suitable for release. For example, government agencies such as Births, Deaths and Marraiges Victoria (BDM) hold a wealth of data that is extremely valuable, but also extremely private. This challenge is about finding new ways to unlock some of that value without exposing sensitive personal information. One way that this might be done is through de-identification - the release of a modified dataset stripped of any identifying information. But de-identification is hard, and always carries a risk that the data can be combined with other public information sources to re-identify the underlying individuals. Another approach might be to design a system that lets people explore or visualise the data in such a way that information about individuals can never be accessed. Maybe you can think of other approaches. BDM has provided a set of 'dummy data' for you to play with. We want you to come up with innovative new ways for BDM to open up their data to the public without compromising Victorians' privacy. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-faces-of-family-violence.md b/_prizes/2016/vic/vic-faces-of-family-violence.md new file mode 100644 index 0000000..e96a11b --- /dev/null +++ b/_prizes/2016/vic/vic-faces-of-family-violence.md @@ -0,0 +1,21 @@ +--- +category: state +gid: vic-faces-of-family-violence +jurisdiction: vic +name: Faces of Family Violence +organisation_title: Victorian Government - Dept Premier and Cabinet +projects: +- wecare +- dank---royal-commission-into-family-violence +title: Faces of Family Violence +type: Theme +--- + +How might we use the information from the Family Violence Royal Commission submissions to better understand the factors that will reduce family violence? +Family violence is a major issue in our community. The Victorian government held a Family Violence Royal Commission. The Commission released over 200 recommendations. A number of people and organisations told their story to the commission. The objective of this challenge to is to find ways of expanding the reach of these submissions and helping to gain better understanding of factors that will reduce family violence. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-geelong-into-the-future.md b/_prizes/2016/vic/vic-geelong-into-the-future.md new file mode 100644 index 0000000..48e8d29 --- /dev/null +++ b/_prizes/2016/vic/vic-geelong-into-the-future.md @@ -0,0 +1,21 @@ +--- +category: state +gid: vic-geelong-into-the-future +jurisdiction: vic +name: Geelong Into the Future +organisation_title: City of Greater Geelong (CoGG) - Planning, strategy and urban growth +projects: +- 5-d-city-explorer +- highway-to-the-dangerzone +title: Geelong Into the Future +type: Theme +--- + +The best hack that assists with making planning and investment decisions for Geelong over the next 30 years. +Governments have many options for how places can grow and change. Tough questions need to be answered – should the city grow up or out, which neighbourhoods should change and which areas should stay the same, what services will the future communities need? As Geelong is developing there is a need for long term planning so that government can make smart decisions about how to invest in a sustainable city for years to come. The hack could include information about which areas have the best access to services, which areas are changing over time, which areas have the least restrictions on future development, what should the future city look like, jobs of the future, or future transport services. + +# Prize +Award of cash up to the value of $500 + +# Eligibility Criteria +Must use at least one of the following datasets: VicMap Planning, Small Area Population Projections, Housing Development Data, Building Permits, Planning Permits, Biodiversity Areas, Flooding Areas. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-geelong-open-data---creative-challenge.md b/_prizes/2016/vic/vic-geelong-open-data---creative-challenge.md new file mode 100644 index 0000000..d84bb06 --- /dev/null +++ b/_prizes/2016/vic/vic-geelong-open-data---creative-challenge.md @@ -0,0 +1,27 @@ +--- +category: state +gid: vic-geelong-open-data---creative-challenge +jurisdiction: vic +name: Geelong Open Data - Creative Challenge +organisation_title: City of Greater Geelong (CoGG) +projects: +- smartpath +- manage-garbage +- 5-d-city-explorer +- news-&-events-data-mashup +- pet-tential +- factr +- go-park-yourself +- highway-to-the-dangerzone +- critrs +title: Geelong Open Data - Creative Challenge +type: Theme +--- + +This is the challenge without definition. We want you to do something that no one has thought of. This hack encourages your creativity to come up with Apps, websites or solutions that encourages innovation and future development possibilities. Prizes will be judged on creativity, the problem solving capability of the hack and even potential commercialisation opportunities. Current community challanges: Understanding how residential land size influence nuisance type (barking dogs, smoke music noise), Encouraging Geelong youth to particpate in youth activities and things of interest across Geelong. Supporting a civic society in Geelong such as 'community support phone tree' or similar, for extreme heat or other weather event days for the Elderly, At Risk People. Does Street Lighting and CCTV cameras improve safety in a City? + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Must use at least one Geelong datasets. Encouraged to use other TAS Council or State Government data. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-geelong-thermal-correction-challenge.md b/_prizes/2016/vic/vic-geelong-thermal-correction-challenge.md new file mode 100644 index 0000000..538cb0f --- /dev/null +++ b/_prizes/2016/vic/vic-geelong-thermal-correction-challenge.md @@ -0,0 +1,19 @@ +--- +category: state +gid: vic-geelong-thermal-correction-challenge +jurisdiction: vic +name: Thermal Correction Challenge +organisation_title: City of Greater Geelong (CoGG) - Spatial Information Unit +title: Thermal Correction Challenge +type: Theme +--- + +A specific task that looks to correct inconsistencies in the Thermal Imagery Conditions dataset and produce a more accurate dataset for future publication. + +A Thermal Imagery data set was collected in 2013 The data displays an anomaly in that general surface temperatures increase from west to east. The goal of this challenge is to review the raw data and supporting materials, identify possible causes of the anomaly and then correct the data to a normalised dataset. + +# Prize +Award of cash up to the value of $500 + +# Eligibility Criteria +Geelong Thermal Imagery Layer \ No newline at end of file diff --git a/_prizes/2016/vic/vic-hack-for-wyndham.md b/_prizes/2016/vic/vic-hack-for-wyndham.md new file mode 100644 index 0000000..66ba28f --- /dev/null +++ b/_prizes/2016/vic/vic-hack-for-wyndham.md @@ -0,0 +1,27 @@ +--- +category: local +events: +- wyndham +gid: vic-hack-for-wyndham +jurisdiction: vic +name: Hack for Wyndham +organisation_title: City of Wyndham +projects: +- wecare +- manage-garbage +- mytree +- hard-waste-management-analysis +- informed-personas +title: Hack for Wyndham +type: Best In +--- + +The Best entry that uses open data to create something useful for the people of Wyndham. +Entries may also support other communties in Victoria or Australia. + +# Prize +Gift voucher up to the value of $500 + +# Eligibility Criteria +Must use at least one dataset from the +Wyndham City Council. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-how-can-city-of-melbourne-data-be-used-to-help-businesses-make-better-decisions?.md b/_prizes/2016/vic/vic-how-can-city-of-melbourne-data-be-used-to-help-businesses-make-better-decisions?.md new file mode 100644 index 0000000..6c6370e --- /dev/null +++ b/_prizes/2016/vic/vic-how-can-city-of-melbourne-data-be-used-to-help-businesses-make-better-decisions?.md @@ -0,0 +1,33 @@ +--- +category: local +events: +- melbourne +gid: vic-how-can-city-of-melbourne-data-be-used-to-help-businesses-make-better-decisions? +jurisdiction: vic +name: How can City of Melbourne data be used to help businesses make better decisions? +organisation: city-of-melbourne +organisation_title: City of Melbourne +projects: +- sweetspot +- sweetspot +- paranormal-distribution +- welcome,-my-new-neighbour! +- futurenow +- transport-alert +- patented +- patented +- find-my-toilet +title: How can City of Melbourne data be used to help businesses make better decisions? +type: Theme +--- + +The City of Melbourne has data that could be helpful for new and existing businesses to make better informed decisions, including data relating to location, new development, pedestrian activity, mobility and leisure. However this information is not readily accessible in a seamless and easily digestible way. +How can the City of Melbourne; +· Make this data accessible to the business community to inform their strategic decisions regarding location. +· Improve the way in which City of Melbourne collects information about business activity in the city. + +# Prize +Award of cash up to the value of $750 + +# Eligibility Criteria +Use at least one city of Melbourne dataset. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-how-can-city-of-melbourne-make-sure-women-have-access-to-information-about-the-services-support-groups-and-mainstream-services-that-are-available-to-them?.md b/_prizes/2016/vic/vic-how-can-city-of-melbourne-make-sure-women-have-access-to-information-about-the-services-support-groups-and-mainstream-services-that-are-available-to-them?.md new file mode 100644 index 0000000..25734c1 --- /dev/null +++ b/_prizes/2016/vic/vic-how-can-city-of-melbourne-make-sure-women-have-access-to-information-about-the-services-support-groups-and-mainstream-services-that-are-available-to-them?.md @@ -0,0 +1,24 @@ +--- +category: local +events: +- melbourne +gid: vic-how-can-city-of-melbourne-make-sure-women-have-access-to-information-about-the-services-support-groups-and-mainstream-services-that-are-available-to-them? +jurisdiction: vic +name: How can City of Melbourne make sure women have access to information about the services support groups and mainstream services that are available to them? +organisation: city-of-melbourne +organisation_title: City of Melbourne +projects: +- little-steps +title: How can City of Melbourne make sure women have access to information about the services support groups and mainstream services that are available to them? +type: Theme +--- + +Women find it difficult to access information about the services available to them, especially mainstream services. How can City of Melbourne provide easy and appropriate access to the Safe and Inclusive spaces for women service directory? +Concurrently, service directories are notoriously difficult datasets to keep up to date. How can City of Melbourne ensure their service directory data is accurately reflects the services that are available to women who may be experiencing family violence? +There are numerous services in the City Of Melbourne and surrounding suburbs designed to assist women who are experiencing or at risk of violence and other related issues. However, while many women could benefit from accessing these services, they don’t identify with being a victim of domestic violence or other negatively perceived labels and hence many find accessing these services at best frustrating and at worst, traumatising. In addition there are many mainstream services and activities that are open to the public that women have identified they would like to use and would find helpful. However, consultations with women and professionals from community organisations have identified that the ability for women to access information about these services and activities is patchy. + +# Prize +Award of cash up to the value of $750 + +# Eligibility Criteria +Use at least one city of Melbourne dataset. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-how-can-city-of-melbourne-work-with-the-community-to-develop-a-better-understanding-of-the-citys-biodiversity?.md b/_prizes/2016/vic/vic-how-can-city-of-melbourne-work-with-the-community-to-develop-a-better-understanding-of-the-citys-biodiversity?.md new file mode 100644 index 0000000..5794d61 --- /dev/null +++ b/_prizes/2016/vic/vic-how-can-city-of-melbourne-work-with-the-community-to-develop-a-better-understanding-of-the-citys-biodiversity?.md @@ -0,0 +1,26 @@ +--- +category: local +events: +- melbourne +gid: vic-how-can-city-of-melbourne-work-with-the-community-to-develop-a-better-understanding-of-the-citys-biodiversity? +jurisdiction: vic +name: How can City of Melbourne work with the community to develop a better understanding of the city’s biodiversity? +organisation: city-of-melbourne +organisation_title: City of Melbourne +projects: +- legends-of-tomorrow +- critrs +- find-my-toilet +title: How can City of Melbourne work with the community to develop a better understanding of the city’s biodiversity? +type: Theme +--- + +How can City of Melbourne work with the community to deliver the cityís mission to protect and enhance nature (blue and green ecosystem and biodiversity) in the city, which are vital for the liveability and resilience of Melbourne? +Specifically, how can we foster communityís enthusiasm in urban biodiversity using Melbourne BioBlitz data and empower the community to co-manage the urban nature with us using citizen science? +For instance, can the community help us monitor biodiversity more accurately in a changing climate? Or how can they use the collected biodiversity data for their own daily decision making? Little things like what plant to be planted in their backyard or which local parks/reserves to go this weekend for the most wonderful butterfly watch? + +# Prize +Award of cash up to the value of $750 + +# Eligibility Criteria +Use at least one city of Melbourne dataset. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-journey-plannning.md b/_prizes/2016/vic/vic-journey-plannning.md new file mode 100644 index 0000000..07cc951 --- /dev/null +++ b/_prizes/2016/vic/vic-journey-plannning.md @@ -0,0 +1,35 @@ +--- +category: state +gid: vic-journey-plannning +jurisdiction: vic +name: Journey Plannning +organisation_title: 'Victorian Government: VicRoads and PTV' +projects: +- campsites-tonight +- smartpath +- location-location-location +- parks-finder +- coffee-is-life +- direct-me +- futurenow +- transport-alert +- wheretonext +- highway-to-the-dangerzone +- local-hero +- 3d-printed-tactile-map-of-melbourne-cbd-tram-stops-for-visually-impaired-commuters. +- wilderness-buddy +- find-my-toilet +- proximity +title: Journey Plannning +type: Theme +--- + +Help me to discover travel options that suit my needs - choice before travelling. +VicRoads and PTV are committed to improving travel conditions for Victorians and providing safe and reliable journeys, this includes enabling travel choice that integrate all modes and options. +This should include consideration of: factors will impact selected travel choice (knowing what could influence my plans whilst travelling); choice of mode; choice of route ( e.g.: scenic routes, environmentally friendly route, less crash-prone route, fastest route etc.); costs associated with travel; integrated travel mode (e.g. car and train); shared transport (e.g. car pooling, uber etc). + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-local-government-spatial-data-bounty.md b/_prizes/2016/vic/vic-local-government-spatial-data-bounty.md new file mode 100644 index 0000000..3be7969 --- /dev/null +++ b/_prizes/2016/vic/vic-local-government-spatial-data-bounty.md @@ -0,0 +1,30 @@ +--- +category: state +gid: vic-local-government-spatial-data-bounty +jurisdiction: vic +name: Local Government Spatial Data Bounty +organisation_title: Victorian Local Government Spatial Reference Group +projects: +- manage-garbage +- endless-bureaucracy +- ballaratgo +- welcome,-my-new-neighbour! +- mytree +- going-out-today +- wheretonext +- pet-tential +- legends-of-tomorrow +- local-hero +title: Local Government Spatial Data Bounty +type: Best In +--- + +The Victorian Local Government Spatial Reference Group (LGSRG) would like to encourage Govhack participants to utilise three specific datasets that are published to data.gov.au. The datasets are: 1) Garbage/ rubbish collection rounds ie my rubbish bin night; 2) Playgrounds; 3) Places that I can/ cannot let my dog exercise on/off lead. +The LGSRG is currently running a challenge for all Victorian Councils to publish open data starting with one or all of these datasets. The datasets should be published using the data standards set out under the Open Council Toolkit https://opencouncildata.org/ +The LGSRG has sponsored a Govhack prize for the best example utilising one or more of these data. + +# Prize +Award of cash up to the value of $500 + +# Eligibility Criteria +Use at least one of the LGSRG priority datasets: 1) Garbage/ rubbish collection rounds ie my rubbish bin night; 2) Playgrounds; 3) Places that I can/ cannot let my dog exercise on/off lead. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-map-my-library.md b/_prizes/2016/vic/vic-map-my-library.md new file mode 100644 index 0000000..3414c1a --- /dev/null +++ b/_prizes/2016/vic/vic-map-my-library.md @@ -0,0 +1,22 @@ +--- +category: state +gid: vic-map-my-library +jurisdiction: vic +name: Map my Library +organisation_title: Geelong Regional Libraries Corporation (GRLC) +projects: +- helping-hand +- critrs +- find-my-toilet +title: Map my Library +type: Theme +--- + +Hack needs to use datasets from multiple Councils in Victorias south west region. + A good hack often covers multiples towns states or even countries. Local Government in the Southwest of Victoria have made a concerted effort to release more open data, but the proof of value is ever present. This presents an opportunity to use common Local Government data mashed up with State and other datsets to deliver a regional outcome. + +# Prize +Award of cash up to the value of $150 + +# Eligibility Criteria +Must use one or more Geelong Regional Libraries datasets. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-mav-technology-bounty.md b/_prizes/2016/vic/vic-mav-technology-bounty.md new file mode 100644 index 0000000..d4ca37d --- /dev/null +++ b/_prizes/2016/vic/vic-mav-technology-bounty.md @@ -0,0 +1,32 @@ +--- +category: state +gid: vic-mav-technology-bounty +jurisdiction: vic +name: MAV Technology Bounty +organisation: mav-technology +organisation_title: MAV Technology +projects: +- smartpath +- manage-garbage +- 5-d-city-explorer +- psychedelicprosthetic +- ballaratgo +- futurenow +- transport-alert +- patented +- wheretonext +- pet-tential +- critrs +- informed-personas +- zr0data +title: MAV Technology Bounty +type: Best In +--- + +An award for the best hack that integrates Victorian data from local, State and federal government sources, and/or makes use of any of the following: rural and regional local government data; animal registration and management data; local government data to assist older citizens in accessing council services and facilities; tree data. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Must involve the integration of Victorain data from local, State and federal government and/or make use of at least one of the following data sources: rural and regional local government data; animal registration and management data; local government data to assist older citizens in accessing council services and facilities; tree data. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-melbourne-ecology.md b/_prizes/2016/vic/vic-melbourne-ecology.md new file mode 100644 index 0000000..0be680c --- /dev/null +++ b/_prizes/2016/vic/vic-melbourne-ecology.md @@ -0,0 +1,25 @@ +--- +category: local +events: +- melbourne +- melbourne-open-raster +gid: vic-melbourne-ecology +jurisdiction: vic +name: Melbourne's Ecology +organisation: city-of-melbourne +organisation_title: City of Melbourne +projects: +- legends-of-tomorrow +- critrs +- find-my-toilet +title: Melbourne's Ecology +type: Theme +--- + +How can we improve the way we collect and share information about Melbourne’s ecology? + +# Prize +Award of cash up to the value of $? + +# Eligibility Criteria +Use at least one city of Melbourne dataset \ No newline at end of file diff --git a/_prizes/2016/vic/vic-parks-vic--experience.md b/_prizes/2016/vic/vic-parks-vic--experience.md new file mode 100644 index 0000000..9136eeb --- /dev/null +++ b/_prizes/2016/vic/vic-parks-vic--experience.md @@ -0,0 +1,28 @@ +--- +category: state +gid: vic-parks-vic--experience +jurisdiction: vic +name: Parks Vic -Experience +organisation_title: Victorian Government - Parks Victoria +projects: +- campsites-tonight +- wilsons-prom-go +- parks-finder +- psychedelicprosthetic +- going-out-today +- critrs +- local-hero +- wilderness-buddy +- find-my-toilet +title: Parks Vic -Experience +type: Theme +--- + +How might we improve discovery of Victoria’s national parks, what they have to offer and enhance the experiences of visitors? +Healthy Parks, Healthy People. This challenge seeks to bring parks closer to Victorians. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies). \ No newline at end of file diff --git a/_prizes/2016/vic/vic-parks-vic--wilsons-prom.md b/_prizes/2016/vic/vic-parks-vic--wilsons-prom.md new file mode 100644 index 0000000..56ad332 --- /dev/null +++ b/_prizes/2016/vic/vic-parks-vic--wilsons-prom.md @@ -0,0 +1,24 @@ +--- +category: state +gid: vic-parks-vic--wilsons-prom +jurisdiction: vic +name: Parks Vic -Wilson's prom +organisation_title: Victorian Government - Parks Victoria +projects: +- campsites-tonight +- wilsons-prom-go +- parks-finder +- going-out-today +- wilderness-buddy +- find-my-toilet +title: Parks Vic -Wilson's prom +type: Theme +--- + +For the best hack that uses Wilsons Prom data. The Prom is one of Victoria’s most-loved places. At the southernmost tip of mainland Australia, it offers spectacular scenery of huge granite mountains, open forest, rainforest, sweeping beaches and coastlines. Parks Victoria have a large amount of data and digital assets on the Prom that could enhance the experience of visitors. Perhaps an interactive experience for visitors Wilsons Prom or other ways to engages people in nature tourism? + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-smart-parking-in-ballarat.md b/_prizes/2016/vic/vic-smart-parking-in-ballarat.md new file mode 100644 index 0000000..2bc2894 --- /dev/null +++ b/_prizes/2016/vic/vic-smart-parking-in-ballarat.md @@ -0,0 +1,23 @@ +--- +category: local +events: +- ballarat +gid: vic-smart-parking-in-ballarat +jurisdiction: vic +name: Smart Parking in Ballarat +organisation: city-of-ballarat +organisation_title: City of Ballarat +projects: +- párko +- go-park-yourself +- local-hero +title: Smart Parking in Ballarat +type: Theme +--- + +The City of Ballarat is looking at ways to improve parking for residents and people visiting Ballarat. Reasons for requiring parking may vary widely as well as the desired lengths of stay and ways in which citizens may want to engage with parking space. How can we improve parking for our residents? How can we better understand what drives parking behaviours and perceptions around parking? Is there a parking issue in Ballarat? Does the public perception match data available? Information that may come in handy: Data – City of Ballarat data is hosted on www.data.gov.au, with state government information at www.data.vic.gov.au. The ABS also publish information at www.abs.gov.au. Judging for this challenge will be on the concept of your hack. This challenge is not just limited to applications but could be any kind of hack - we will leave that one to you. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria \ No newline at end of file diff --git a/_prizes/2016/vic/vic-the-regional-challenge.md b/_prizes/2016/vic/vic-the-regional-challenge.md new file mode 100644 index 0000000..e4b5e28 --- /dev/null +++ b/_prizes/2016/vic/vic-the-regional-challenge.md @@ -0,0 +1,28 @@ +--- +category: state +gid: vic-the-regional-challenge +jurisdiction: vic +name: The Regional Challenge +organisation_title: City of Greater Geelong (Digital Geelong) +projects: +- manage-garbage +- 5-d-city-explorer +- psychedelicprosthetic +- endless-bureaucracy +- pet-tential +- highway-to-the-dangerzone +- critrs +- local-hero +- dank---royal-commission-into-family-violence +- find-my-toilet +title: The Regional Challenge +type: Theme +--- + +Hack needs to use datasets from multiple Councils in Victorias south west region. A good hack often covers multiple jurisdictions. Local Government in the Southwest of Victoria have made a concerted effort to release more open data, but the proof of value is ever present. This presents an opportunity to use common LG data mashed up with State and other datsets to deliver a regional outcome. Anything goes for this Hack. + +# Prize +Award of cash up to the value of $500 + +# Eligibility Criteria +Must use at least one Geelong Council open data sets. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-the-urban-forest.md b/_prizes/2016/vic/vic-the-urban-forest.md new file mode 100644 index 0000000..84d6039 --- /dev/null +++ b/_prizes/2016/vic/vic-the-urban-forest.md @@ -0,0 +1,22 @@ +--- +category: state +gid: vic-the-urban-forest +jurisdiction: vic +name: The Urban Forest +organisation_title: City of Greater Geelong (CoGG) - Parks and Gardens +projects: +- smartpath +- coffee-is-life +- mytree +- legends-of-tomorrow +title: The Urban Forest +type: Theme +--- + +The best hack that assists with identifying and informing the best value for Councils Tree Planting programs. The Urban Forest Strategy expands on the concept of City in a Park, which is focussed on Geelong's CBD, to enhance the public and private tree population in all of the suburbs and townships across Greater Geelong. The sum of all these trees and associated vegetation is called the urban forest. Hacks could include developing a best value tree planting program based on a detailed analysis on priority hotspots for tree planting, defining the progress of the strategy by identifying Geelong’s Coolest Suburb, or what is the coolest way to travel by improving connectivity between green areas to allow people to travel along shadier streets on hot days. + +# Prize +Award of cash up to the value of $500 + +# Eligibility Criteria +Geelong street tree inventory, canopy cover, Powercor usage data, social data, future population growth and Bureau of Meteorology local temp data. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-vic-map-features-of-interest.md b/_prizes/2016/vic/vic-vic-map-features-of-interest.md new file mode 100644 index 0000000..4592852 --- /dev/null +++ b/_prizes/2016/vic/vic-vic-map-features-of-interest.md @@ -0,0 +1,32 @@ +--- +category: state +gid: vic-vic-map-features-of-interest +jurisdiction: vic +name: Vic Map Features of Interest +organisation_title: Victorian Government - Dept. Land, Environment, Water and Planning +projects: +- location-location-location +- wilsons-prom-go +- parks-finder +- psychedelicprosthetic +- ballaratgo +- going-out-today +- wheretonext +- pet-tential +- highway-to-the-dangerzone +- legends-of-tomorrow +- critrs +- informed-personas +- local-hero +- find-my-toilet +title: Vic Map Features of Interest +type: Theme +--- + +A prize for the best reuse of the 'Features of Interest' dataset (e.g. to families, community groups etc). Can you help people locate facilities around them? DELWP provides a dynamic database of features and sub features such as education centres, community venues, care & emergency facilities. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-victorian-war-heritage-inventory.md b/_prizes/2016/vic/vic-victorian-war-heritage-inventory.md new file mode 100644 index 0000000..5d4e065 --- /dev/null +++ b/_prizes/2016/vic/vic-victorian-war-heritage-inventory.md @@ -0,0 +1,19 @@ +--- +category: state +gid: vic-victorian-war-heritage-inventory +jurisdiction: vic +name: Victorian War Heritage Inventory +organisation_title: Victorian Government - Veterans +projects: +- wheretonext +title: Victorian War Heritage Inventory +type: Theme +--- + +A prize for the best reuse of data from the Victorian War Heritage Inventory. The Victorian War Heritage Inventory is the record of physical war heritage across Victoria (war memorials, honour rolls, significant sites etc). Suggestions include providing access in a more accessible and interactive way, improving community access to the information, collecting new content and records from the public, or sharing stories of significant war heritage in the State. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/vic/vic-waste-management.md b/_prizes/2016/vic/vic-waste-management.md new file mode 100644 index 0000000..5e795c2 --- /dev/null +++ b/_prizes/2016/vic/vic-waste-management.md @@ -0,0 +1,22 @@ +--- +category: state +gid: vic-waste-management +jurisdiction: vic +name: Waste Management +organisation_title: 'Victorian Government: Sustainability Victoria' +projects: +- manage-garbage +- endless-bureaucracy +- hard-waste-management-analysis +title: Waste Management +type: Theme +--- + +How might we use data to better track and quantify the flows of waste and enable better planning and investment? +As Victoria's population increases, there is greater need to minimise and better manage our waste to create more sustainable communities. Mapping and quantifying the flows of waste data would provide evidence for forecasting and planning future infrastructure needs for the state. Industry, local and state government would find this particularly useful given the state infrastructure plan’s purpose and its influence on determining future waste facilities in Victoria. + +# Prize +Award of cash up to the value of $1,000 + +# Eligibility Criteria +Nominate the Theme in the entry is competing in. Use at least two data sets (at least one must be Victoria government data with a strong preference for multipliable Victorian government datasets from different departments and agencies.) Other openly licensed data may be used. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-best-mentor.md b/_prizes/2016/wa/wa-best-mentor.md new file mode 100644 index 0000000..1c1c636 --- /dev/null +++ b/_prizes/2016/wa/wa-best-mentor.md @@ -0,0 +1,17 @@ +--- +category: state +gid: wa-best-mentor +jurisdiction: wa +name: Best Mentor +organisation_title: GovHack WA and Event Crews +title: Best Mentor +type: Spirit +--- + +Spirit of GovHack award. + +# Prize +Certificate + +# Eligibility Criteria +Mentor at GovHack WA. Awarded by State Operations Committee. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-best-sponsor.md b/_prizes/2016/wa/wa-best-sponsor.md new file mode 100644 index 0000000..37a4ab3 --- /dev/null +++ b/_prizes/2016/wa/wa-best-sponsor.md @@ -0,0 +1,17 @@ +--- +category: state +gid: wa-best-sponsor +jurisdiction: wa +name: Best Sponsor +organisation_title: GovHack WA and Event Crews +title: Best Sponsor +type: Spirit +--- + +Most helpful and engaged sponsor. + +# Prize +Certificate + +# Eligibility Criteria +Sponsor of GovHack WA. Awarded by State Operations Committee, \ No newline at end of file diff --git a/_prizes/2016/wa/wa-big-data-and-analytics-prize.md b/_prizes/2016/wa/wa-big-data-and-analytics-prize.md new file mode 100644 index 0000000..8f7247f --- /dev/null +++ b/_prizes/2016/wa/wa-big-data-and-analytics-prize.md @@ -0,0 +1,31 @@ +--- +category: state +gid: wa-big-data-and-analytics-prize +jurisdiction: wa +name: Big Data and Analytics Prize +organisation_title: Office of Science, Department of Premier and Cabinet, Pawsey Supercomputing Centre +projects: +- schrodingers-shark +- violet-pipe-dreams +- mapping-sepsis +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- the-transac-initiative +- ihero +- wa-traffic-analysis +- careermoveau +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- immi-great +- gophergrader +- smart-sepsis-wa +- colourful-past +title: Big Data and Analytics Prize +type: Best In +--- + +The best reuse of ‘big data’ or anaytics of multiple data sources. Entries may present insights developed through the use of ‘big data, demonstrate data science capabilities, help others to data mine and understand data from multiple sources; or model data to support informed decisions with changing variables. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of a large or complex dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-encouragement-award.md b/_prizes/2016/wa/wa-encouragement-award.md new file mode 100644 index 0000000..0c4cb08 --- /dev/null +++ b/_prizes/2016/wa/wa-encouragement-award.md @@ -0,0 +1,23 @@ +--- +category: state +gid: wa-encouragement-award +jurisdiction: wa +name: Encouragement Award +organisation_title: GovHack WA and Event Crews +projects: +- stem,-australia +- binthere +- air-bubble +- mission:-attrition +- powering-australia +title: Encouragement Award +type: Spirit +--- + +An award for the individual that made a valiant attempt, learnt the most, or is otherwise deserving of further encouragement. + +# Prize +Voucher up to the value of $200 + +# Eligibility Criteria +Participant in GovHack WA. Awarded by State Operations Committee. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-geospatial-prize.md b/_prizes/2016/wa/wa-geospatial-prize.md new file mode 100644 index 0000000..296b487 --- /dev/null +++ b/_prizes/2016/wa/wa-geospatial-prize.md @@ -0,0 +1,27 @@ +--- +category: state +gid: wa-geospatial-prize +jurisdiction: wa +name: Most Innovative Use Of Location-based Information Prize +organisation_title: SPUR, Powered by Landgate +projects: +- violet-pipe-dreams +- mapping-sepsis +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- wa-traffic-analysis +- crash-course +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- anaconda-dont +- gophergrader +- smart-sepsis-wa +title: Most Innovative Use Of Location-based Information Prize +type: Theme +--- + +To be in the running for this prize, we would like to see creative and innovative uses of location information. We love maps; but surprise us and take open data to the next level by giving us something more left field and thinking out of the box. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au). \ No newline at end of file diff --git a/_prizes/2016/wa/wa-most-promising-govhacker.md b/_prizes/2016/wa/wa-most-promising-govhacker.md new file mode 100644 index 0000000..49cce21 --- /dev/null +++ b/_prizes/2016/wa/wa-most-promising-govhacker.md @@ -0,0 +1,30 @@ +--- +category: state +gid: wa-most-promising-govhacker +jurisdiction: wa +name: Most Promising GovHacker +organisation_title: GovHack WA and Event Crews +projects: +- project-trident +- schrodingers-shark +- mapping-sepsis +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- au-dashboard +- ihero +- careermoveau +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- street-shark +- anaconda-dont +- smart-sepsis-wa +- colourful-past +title: Most Promising GovHacker +type: Development +--- + +Most innovative, helpful and entrepeneurial team or GovHacker. + +# Prize +Scholarship to Curtin Ignition program valued at $2500 + +# Eligibility Criteria +Participant or team at GovHack WA. Awarded by State Operations Committee. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-shark-solutions-prize.md b/_prizes/2016/wa/wa-shark-solutions-prize.md new file mode 100644 index 0000000..c506529 --- /dev/null +++ b/_prizes/2016/wa/wa-shark-solutions-prize.md @@ -0,0 +1,21 @@ +--- +category: state +gid: wa-shark-solutions-prize +jurisdiction: wa +name: Shark Solutions Prize +organisation_title: Department of Fisheries +projects: +- project-trident +- schrodingers-shark +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +title: Shark Solutions Prize +type: Theme +--- + +The solution which best provides a public safety outcome for shark mitigation for Western Australia’s water users. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-spirit-of-govhack-geraldton.md b/_prizes/2016/wa/wa-spirit-of-govhack-geraldton.md new file mode 100644 index 0000000..6c9efc8 --- /dev/null +++ b/_prizes/2016/wa/wa-spirit-of-govhack-geraldton.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- geraldton +gid: wa-spirit-of-govhack-geraldton +jurisdiction: wa +name: Spirit Of GovHack Geraldton +organisation_title: GovHack WA and Event Crews +title: Spirit Of GovHack Geraldton +type: Spirit +--- + +Spirit of GovHack award. + +# Prize +$200 Voucher + +# Eligibility Criteria +Participant at the GovHack Geraldton Event. Awarded by Geraldton Official Event Committee. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-spirit-of-govhack-perth.md b/_prizes/2016/wa/wa-spirit-of-govhack-perth.md new file mode 100644 index 0000000..d9f0b7c --- /dev/null +++ b/_prizes/2016/wa/wa-spirit-of-govhack-perth.md @@ -0,0 +1,19 @@ +--- +category: local +events: +- perth +gid: wa-spirit-of-govhack-perth +jurisdiction: wa +name: Spirit of GovHack Perth +organisation_title: GovHack WA and Event Crews +title: Spirit of GovHack Perth +type: Spirit +--- + +Spirit of GovHack award. + +# Prize +$200 Voucher + +# Eligibility Criteria +Participant at the GovHack Perth event. Awarded by Perth Official Event Committee. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-spirit-of-govhack-wa.md b/_prizes/2016/wa/wa-spirit-of-govhack-wa.md new file mode 100644 index 0000000..c05ff97 --- /dev/null +++ b/_prizes/2016/wa/wa-spirit-of-govhack-wa.md @@ -0,0 +1,17 @@ +--- +category: state +gid: wa-spirit-of-govhack-wa +jurisdiction: wa +name: Spirit of GovHack WA +organisation_title: GovHack WA and Event Crews +title: Spirit of GovHack WA +type: Spirit +--- + +Spirit of GovHack award. + +# Prize +$200 Voucher + +# Eligibility Criteria +Participant involved in GovHack WA. Awarded by State Operations Committee \ No newline at end of file diff --git a/_prizes/2016/wa/wa-sustainable-coastlines-prize.md b/_prizes/2016/wa/wa-sustainable-coastlines-prize.md new file mode 100644 index 0000000..ebc666f --- /dev/null +++ b/_prizes/2016/wa/wa-sustainable-coastlines-prize.md @@ -0,0 +1,36 @@ +--- +category: state +gid: wa-sustainable-coastlines-prize +jurisdiction: wa +name: Sustainable Coastlines Prize +organisation: nacc +organisation_title: Northern Agricultural Catchments Council +projects: +- campsites-tonight +- breathe-easy +- schrodingers-shark +- walksafe +- violet-pipe-dreams +- violet-pipe-dreams +- parks-finder +- smart-asset-management +- mycity-in-virtual-reality +- perfect-catch +- piccohunt +- au-dashboard +- fish-r-us +- home-sweet-home +- flash-me! +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- aquadex +title: Sustainable Coastlines Prize +type: Theme +--- + +The entry which promotes a healthy and sustainable marine and coastal environment in Western Australia. + +# Prize +Cash prize(s) up to the value of $500 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-the-keep-western-australia-moving-prize.md b/_prizes/2016/wa/wa-the-keep-western-australia-moving-prize.md new file mode 100644 index 0000000..b753b34 --- /dev/null +++ b/_prizes/2016/wa/wa-the-keep-western-australia-moving-prize.md @@ -0,0 +1,25 @@ +--- +category: state +gid: wa-the-keep-western-australia-moving-prize +jurisdiction: wa +name: The Keep Western Australia Moving Prize +organisation_title: Main Road WA +projects: +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- the-transac-initiative +- rest-stop-finder +- au-dashboard +- wa-traffic-analysis +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- gophergrader +title: The Keep Western Australia Moving Prize +type: Theme +--- + +The solution which best improves the mobility of people or the efficiency of freight movement in WA. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-citizenship-price.md b/_prizes/2016/wa/wa-western-australian-citizenship-price.md new file mode 100644 index 0000000..6184bbf --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-citizenship-price.md @@ -0,0 +1,27 @@ +--- +category: state +gid: wa-western-australian-citizenship-price +jurisdiction: wa +name: Western Australian Citizenship Prize +organisation_title: UnitingCare West +projects: +- project-trident +- violet-pipe-dreams +- mentalhelp-application +- state-engaged +- au-dashboard +- ihero +- careermoveau +- street-shark +- immi-great +title: Western Australian Citizenship Prize +type: Theme +--- + +The solution that best helps vulnerable Western Australians. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-community-prize.md b/_prizes/2016/wa/wa-western-australian-community-prize.md new file mode 100644 index 0000000..b116038 --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-community-prize.md @@ -0,0 +1,39 @@ +--- +category: state +gid: wa-western-australian-community-prize +jurisdiction: wa +name: Western Australian Community Prize +organisation_title: Department of Local Government and Communities +winners: + colourful-past: + - place: 1st + careermoveau: + - place: 2nd +projects: +- project-trident +- wa-public-housing +- budgethack +- schrodingers-shark +- violet-pipe-dreams +- mentalhelp-application +- state-engaged +- au-dashboard +- ihero +- careermoveau +- crash-course +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- street-shark +- immi-great +- gophergrader +- colourful-past +title: Western Australian Community Prize +type: Theme +--- + +The solution that best helps Western Australians to experience and enjoy their communities. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-entrepeneurial-prize.md b/_prizes/2016/wa/wa-western-australian-entrepeneurial-prize.md new file mode 100644 index 0000000..b52cfec --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-entrepeneurial-prize.md @@ -0,0 +1,39 @@ +--- +category: state +gid: wa-western-australian-entrepeneurial-prize +jurisdiction: wa +name: Western Australian Entrepeneurial Prize +organisation: landgate +organisation_title: SPUR, Powered by Landgate +projects: +- project-trident +- budgethack +- schrodingers-shark +- violet-pipe-dreams +- mapping-sepsis +- the-transac-initiative +- au-dashboard +- ihero +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- street-shark +- anaconda-dont +- smart-sepsis-wa +title: Western Australian Entrepeneurial Prize +type: Theme +--- + +The participant or team most likely to push on with their idea. + +# Prize +* Access to a Spur business development mentor at one hour per week for 6 months or equivalent, valued at $5,000. We can help you turn your ideas into action! +* 10 hours per week for up to two people to use Landgate’s co-working space at Spacecubed in Perth. Be at the heart of innovation through co-working and be surrounded by like-minded people. + +This prize will be awarded shortly after the event to a team that is keen to take their concept further. Awarded by GovHack WA Committee in consultation with SPUR. + +# Eligibility Criteria +Must use WA Government open data from [data.wa.gov.au](http://data.wa.gov.au/) and [Shared Location Information Platform (SLIP)](http://slip.landgate.wa.gov.au/). + +# About Spur +[Spur](http://spur.wa.gov.au/) is the new WA location and innovation hub, powered by Landgate, that that promotes collaboration, stimulation and acceleration of new ideas. Details on the data services available for GovHack are available at [http://www.data.wa.gov.au/govhack](data.wa.gov.au/govhack). + +Spur's aim is to nurture partnership, investment opportunities and support emerging WA-based location-based technology businesses. We can help you turn your ideas into action and start-up your business through collaboration, access to data and connection to key contacts and resources. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-innovation-prize.md b/_prizes/2016/wa/wa-western-australian-innovation-prize.md new file mode 100644 index 0000000..5221b03 --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-innovation-prize.md @@ -0,0 +1,27 @@ +--- +category: state +gid: wa-western-australian-innovation-prize +jurisdiction: wa +name: Western Australian Innovation Prize +organisation_title: Insurance Commission of Western Australia +projects: +- project-trident +- violet-pipe-dreams +- mapping-sepsis +- the-transac-initiative +- au-dashboard +- ihero +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- street-shark +- smart-sepsis-wa +title: Western Australian Innovation Prize +type: Theme +--- + +The best solution that helps to deliver efficient and equitable insurance services to Western Australians. This can include helping to detect or predict fraudulent insurance claims and services. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-solution-prize.md b/_prizes/2016/wa/wa-western-australian-solution-prize.md new file mode 100644 index 0000000..7b1a1c3 --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-solution-prize.md @@ -0,0 +1,43 @@ +--- +category: state +gid: wa-western-australian-solution-prize +jurisdiction: wa +name: Western Australian Solution Prize +organisation_title: SPUR, powered by Landgate +projects: +- project-trident +- budgethack +- schrodingers-shark +- violet-pipe-dreams +- mapping-sepsis +- mentalhelp-application +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- the-transac-initiative +- state-engaged +- au-dashboard +- ihero +- careermoveau +- crash-course +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- street-shark +- anaconda-dont +- smart-sepsis-wa +title: Western Australian Solution Prize +type: Theme +--- + +The participant or team who comes up with an applicable solution to a problem faced by government. + +# Prize +* Access to a Spur business development mentor at one hour per week for 6 months or equivalent, valued at $5,000. We can help you turn your ideas into action! +* 10 hours per week for up to two people to use Landgate’s co-working space at Spacecubed in Perth. Be at the heart of innovation through co-working and be surrounded by like-minded people. + +This prize will be awarded shortly after the event to a team that is keen to take their concept further. Awarded by GovHack WA Committee in consultation with SPUR. + +# Eligibility Criteria +Must use WA Government open data from [data.wa.gov.au](http://data.wa.gov.au/) and [Shared Location Information Platform (SLIP)](http://slip.landgate.wa.gov.au/). + +# About Spur +[Spur](http://spur.wa.gov.au/) is the new WA location and innovation hub, powered by Landgate, that that promotes collaboration, stimulation and acceleration of new ideas. Details on the data services available for GovHack are available at [http://www.data.wa.gov.au/govhack](data.wa.gov.au/govhack). + +Spur's aim is to nurture partnership, investment opportunities and support emerging WA-based location-based technology businesses. We can help you turn your ideas into action and start-up your business through collaboration, access to data and connection to key contacts and resources. \ No newline at end of file diff --git a/_prizes/2016/wa/wa-western-australian-sustainability-prize.md b/_prizes/2016/wa/wa-western-australian-sustainability-prize.md new file mode 100644 index 0000000..ceb4cdf --- /dev/null +++ b/_prizes/2016/wa/wa-western-australian-sustainability-prize.md @@ -0,0 +1,25 @@ +--- +category: state +gid: wa-western-australian-sustainability-prize +jurisdiction: wa +name: Western Australian Sustainability Prize +organisation_title: Water Corporation of WA +projects: +- project-trident +- violet-pipe-dreams +- sustainable-juniors +- e-map:-spatio-temporal-modelling-of-traffic-and-emissions +- au-dashboard +- point-break---crowdsourcing-beach-intelligence-|-on-demand-spatial-awareness +- anaconda-dont +title: Western Australian Sustainability Prize +type: Theme +--- + +The solution that helps to sustainably manage the water services of Western Australian to make the State a great place to live and invest in. + +# Prize +Cash prize(s) up to the value of $1000 + +# Eligibility Criteria +Use of relevant dataset available through the Western Australian Government's data portal (data.wa.gov.au) \ No newline at end of file diff --git a/contributing.md b/contributing.md new file mode 100644 index 0000000..55a4df5 --- /dev/null +++ b/contributing.md @@ -0,0 +1,284 @@ +--- +layout: bootstrap +title: Contributing +--- + +# GovHack 2016 Web Content Guide +This document exists to introduce GovHack Event Hosts and Managers to how GovHack's online presence will be changing in 2016, to help them to take advantage of the changes, and to guide them in getting information published. + +There are two major changes taking place this year: + +1. **Revamping our main website at [govhack.org](https://govhack.org/)** with a simpler, cleaner, more modern design, and rewriting and restructing its content to be more accessible to a wider audience. + +2. **Launching a new website focused on the competition at [portal.govhack.org](http://portal.govhack.org)** to provide a single place for competitors to find all of the information they need to know (a one-stop shop!) - from the prizes on offer, the available datasets, who's mentoring, and ultimately, the projects that come out of it, and the prize winners. + +## What's changing? + +In short, we're introducing structure where before there was very little by: + +1. **Formalising how we describe and collect information** about events, datasets, prizes, et cetera and storing it in a database. + +2. Trying out some new ideas we think will enhance the competition - such as **adding themes, and better supporting challenges/problem statements from sponsors**. + +3. Now that everything has a defined structure, we're going to **link it together to make navigating the competition easier** - e.g. Look at a prize and see not only its description, but the datasets and data portals relevant to it, the mentors who are supporting it, and so on. + +4. **Creating a showcase that will highlight all of the awesome projects the hackers create**, celebrate the winners, and provide a permanent home for all of the stories and outcomes from GovHack. + +5. **Creating attractive marketing pages for each state/region at govhack.org** at govhack.org/nsw, govhack.org/qld, et cetera. + +## Why are we doing this? + +In short, so we can run GovHack in a leaner and more efficient manner; so we ask less of all of our wonderful volunteers; and to support GovHack to exist all year round, not just as a blip on the year's calendar. + +1. **To give GovHack a permanent home online and to *"collect once, publish multiple times"*.** As GovHack has grown and evolved over the years we've relied on people-intensive and time consuming ways of collecting information from event hosts - often asking for information multiple times, and having it pass through many pairs of hands before it ultimately gets published everywhere it's needed. + +2. **To give GovHack a year-round presence and provide a foundation to do more between events to support GovHack projects, and the broader open data mission.** Traditionally GovHack goes quiet between September and March each year, but we've heard a lot of feedback from our community that they'd love support to continue their projects through the year. The first step towards doing that is making sure our online presence enables us to do that. + +3. **To better showcase all of the amazing outcomes of GovHack and follow their stories.** Right now there's no one place to go to see all of the projects that have come out of GovHack, all of the projects from a particular city, all of the projects in a particular broad category - we're fixing that. + +## How will hosts and managers make changes? + +In short, you'll be using a set of forms we're creating to provide the updates to our new Web Team, and they'll be updating it for you. + +To publish *new* information use these links to jump to the forms: + +- [State/Region](#stateregion) +- [Events](#events) +- [Sponsors](#sponsors) +- [Prizes](#prizes) +- [Datasets](#datasets) +- [Data Portals](#data-portals) +- [Mentors](#mentors) +- [Themes](#themes) +- [Challenges](#challenges) +- [Winners](#winners) + +To *update* information about something that's already published contact [your Digital Producers](#your-digital-producers). + +### Why can't we just publish this all ourselves like we used to? + +Fair question - and we're planning for that, but this first iteration is very much an experiment and a "[Minimum Viable Product](https://en.wikipedia.org/wiki/Minimum_viable_product)". If everything goes well, and these new ideas work, we'll be investing time after GovHack in creating a user-friendly publishing interface with no technical knowledge required. + +### Self-publishing is possible now, but there's a catch + +But it requires a bit of technical knowledge and isn't as user-friendly as a [WYSIWYG](https://en.wikipedia.org/wiki/WYSIWYG) interface you'd find on platforms like Wordpress and Squarespace. If a member of your local team is proficient in [Markdown](https://en.wikipedia.org/wiki/Markdown), and has used GitHub's web interface before, then we're more than happy to give them access to the backend of the platform to self-publish. + +Get in touch with the Web Team via Basecamp or at [web@govhack.org](mailto:web@govhack.org?Subject=Portal%20GitHub%20Access) for more information. + +### Our state/event already has a website + +That's great! Actually, quite a few of the ideas we're adopting this year were inspired by things we've seen on GovHack websites created by local event teams. If your team has the capacity and drive to run its own web presence we're fully supportive of that, and will do what we can to help you (e.g. By supplying GovHack digital assets, and a style guide). + +**But remember, we'll still need you to list all of the key information about your event (where it is, prizes, datasets, mentors, et cetera) using the forms here so we can publish it in one place.** + +## Your Digital Producers +If you have questions about any this, have found a problem, or have a suggestion contact your region's *Digital Producer* on Basecamp or via email. + +For NSW, QLD, ACT, and NZ: [alan@govhack.org](mailto:alan@govhack.org?Subject=GovHack%20Marketing%20Page%20Update) + +For WA, SA, VIC, and TAS: [jun@govhack.org](mailto:jun@govhack.org?Subject=GovHack%20Marketing%20Page%20Update) + + +# I want to update information about my... + +## State/Region + +### Marketing Pages + +Contact [your Digital Producers](#your-digital-producers) to discuss, and to make any changes to your marketing page (govhack.org/qld, govhack.org/wa, et cetera). + +### Competition Portal Pages +Each state/region has it's own page within portal.govhack.org (e.g [Queensland](http://portal.govhack.org/regions/queensland.html)) - where all of the relevant information supplied by state managers will be available. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- Description +- Photo/Logo URL + + +## Events +Each event has it's own page within portal.govhack.org (e.g [Brisbane](http://portal.govhack.org/locations/qld/brisbane.html)) - where all of the relevant information supplied by event hosts will be available. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- State/Region +- Event Type (Official Event or Youth Node or Theme Node or Maker Node) +- Event Description (A few paragraphs welcoming people to your GovHack event and saying why it will be great.) +- *For Node Events:* + - Node Description (A few paragraphs describing the particular theme, youth, or maker element of your event.) +- *For Youth Nodes:* + - Child Safety Commitment (A statement about your child safe environment that demonstrates compliance with state laws.) + - Information for Guardians (Instructions and information for guardians.) +- *For Maker Nodes:* + - Maker Facilities Information (Describe the maker facilities available, safety information, advice regarding supplies and equipment you'll need to bring e.g. Paint, soldering irons.) +- Childcare Information (Information on childcare arrangements at your event - optional) +- Event Photos (Photos of previous year events and competitors if available - Up to 3) +- *Venue Information:* + - Name + - Address + - Accessibility (Information about how accessible your venue is - e.g. for wheelchairs.) + - Photos (Photos of your venue if available - Up to 3) + - Opening Hours (e.g. "Closes at midnight", "Open all night if at least 5 hackers remain".) + - Catering Arrangements (If any) + - Getting There + - Parking availability + - Public transport options (With links to local public transport info) + - Last call for public transport (When does the last bus or train depart) +- *Event Team:* + - Event Host: Name, and optional contact info (email, social media accounts) + - Event Team Members: Name, and optional contact info (social media accounts) +- Event Logo (Location branded logo for your event - optional) +- Event Website URL (URL of your event's standalone website - optional) +- Event Email Address (The official @govhack.org email address for your event) +- *Social Media Accounts (optional):* + - Twitter + - Facebook + - Instagram + - YouTube + - Flickr +- Related Datasets +- Related Data Portals + + +## Sponsors +Every organisation that sponsors GovHack (nationally, at the state-level, and for individual events) will have their own page within portal.govhack.org (e.g. [IP Australia](http://portal.govhack.org/sponsors/ip_australia.html)) where their sponsorship of GovHack and contributions will be highlighted. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- Description (A few paragraphs from the sponsor saying who they are and, optionally, why they're involved in GovHack.) +- Type (Government or Corporate) +- State/Region (optional) +- Event (optional) +- Sponsor Level +- Website URL +- Logo +- Related Data Portals + + +## Prizes +Each prize that's on offer for GovHack (internationally, nationally, at the state-level, and for individual events) will have their own page within portal.govhack.org where the prize details, related datasets, the prize sponsor and so on will be highlighted. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- *Description:* + - A sentence describing the prize. + - A few paragraphs describing the prize in more detail. +- Requirements (A few paragraphs describing any requirements the prize has [e.g. "Must use this sort of data"] - optional) +- Type (Prize or Bounty) +- State/Region (optional) +- Event (optional) +- Sponsor +- Image URL +- Related Datasets +- Related Data Portals +- Related Mentors +- Related Themes + + +## Datasets +Each official dataset that is being highlighted for GovHack (internationally, nationally, at the state-level, and for individual events) will have their own page within portal.govhack.org where information about the dataset, links to download it, related metors, and so on will be highlighted. + +[Dataset Publishing Form](https://govhack.formstack.com/forms/datasets) + +*NB:* This form should be sent to data providers for your state and local event to fill out. + +**What we need to know** + +- Name +- Description +- Hacker Toolkit Info & Links (Supplied by GOT) +- State/Region +- Sponsor +- Data Portal +- Dataset URL +- Related Mentors + + +## Data Portals +Each official government data portal (nationally, at the state-level, and for individual events) will be listed on the [data portals list](http://portal.govhack.org/dataportals.html) within portal.govhack.org, and from each related page (e.g. the pages for your state/region andevent. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- Description +- Type (Major, Local, Domain, Agency) +- State/Region +- Website URL +- Logo URL +- Related Mentors +- Related Datasets + + +## Mentors +Each mentor that is part of GovHack (nationally, at the state-level, and for individual events) will have their own page within portal.govhack.org where information about them, what they can help with, who they work for, and where they'll be mentoring, and so on will be highlighted. + +[Mentor Information Form](https://govhack.formstack.com/forms/mentors) + +*NB:* This form should be sent to sponsors for your state and local event to provide to the mentors they'll be making available. + +**What we need to know** + +- Name +- Biography +- State/Region +- Event (The event they'll be at - optional) +- Sponsor +- Photo URL +- Position Title +- Ask Me About +- Twitter +- Facebook +- LinkedIn +- Email + + +## Themes +Themes are a new concept for GovHack that will let GovHack (nationally, at the state-level, or for individual events) highlight a few broad high-level themes that emerge as part of the competition. + +*For example -* if your local event has a range of sponsors relating to transport you might create a Transport theme around your event that links together the prizes, interesting and useful datasets, related government agencies, and so on. + +*For example -* last year the CSIRO put together a dedicated theme website for [GovHack Science](http://govhack-science.github.io/). + +*The ultimate decision to create a theme will lay with you as GovHack organisers* looking at a combination of who your sponsors are, what your prizes are, what data sponsors are submitting, and what bounties and challenges sponsors are putting up. Creating themes isn't mandatory, but the GOT team will be here to guide and assist you if you would like to. + +In specific cases (such as CSIRO) where a single sponsor represents a broad subject area that's relevant to your prizes, and has super engaged mentors willing to put in the work, they may be given more direct input on the content of the themes. + +*We're still working on creating this form - in the meantime place contact [your Digital Producers](#your-digital-producers) to make any changes.* + +**What we need to know** + +- Name +- *Description:* + - A few paragraphs introducign and describing the theme + - Curated Links (Links to places to find more information and context about the subject of the theme.) + - Serving Suggestions (A few paragraphs describing the sorts of projects that might be created under this theme.) +- State/Region (optional) +- Event (optional) +- Photo URL +- Related Datasets +- Related Prizes +- Related Data Portals +- Related Mentors +- Related Sponsors + + +## Challenges +More info coming soon. + + +## Winners +More info coming soon. \ No newline at end of file diff --git a/dataportals.html b/dataportals.html new file mode 100644 index 0000000..de440af --- /dev/null +++ b/dataportals.html @@ -0,0 +1,87 @@ +--- +layout: bootstrap +title: Data Portals +--- +{% assign dataportal_ids = site.dataportals | where: "type", "major-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Government Data Portals

    +
    +
    +
    + {% comment %} + ============================================================== + Hack to make data.gov.au appear first in the list. + ============================================================== + {% endcomment %} + {% assign dataportal_ids_str = dataportal_ids | join: "," %} + {% assign dataportal_ids_str = dataportal_ids_str | replace_first: "actmapi,dataactgovau,datagovau,", "datagovau,dataactgovau,actmapi," %} + + {% assign dataportal_ids = dataportal_ids_str | split: "," %} + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} + + +{% assign dataportal_ids = site.dataportals | where: "type", "agency-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Agency Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} + + +{% assign dataportal_ids = site.dataportals | where: "type", "domain-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Domain-specific Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} + + +{% assign dataportal_ids = site.dataportals | where: "type", "local-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Local Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} + +

    + Is your local government not listed? Check out Open Council Data - an unofficial index of local government data portals in Australia. +

    +
    +
    +
    +{% endunless %} \ No newline at end of file diff --git a/datasets.html b/datasets.html new file mode 100644 index 0000000..2461aba --- /dev/null +++ b/datasets.html @@ -0,0 +1,199 @@ +--- +layout: bootstrap +title: Datasets +#sections: +# cta: +# label: Feature your dataset +# href: https://govhack.formstack.com/forms/datasets +# target: _blank +--- + + +
    +
    +
    +
    +

    Datasets

    +
    +
    +
    + {% if site.datasets.size == 0 %} +

    + We'll be making the official competition dataset list available soon. Watch this space! +

    + {% endif %} + +

    + These are the official datasets which will be used in the competition. To be listed as an official dataset a dataset must be submitted by a government agency for use during GovHack - either across the whole compeititon, or for specific prizes. +

    + +

    + All entries must use official data in some form. Some prize categories require you to use specific data from a publishing organisation. Other prize categories require a mix of data sourced from different government jurisdictions. +

    + + {% if site.datasets.size > 0 %} +

    + The competition details won’t be launched until GovHack opens on 29th July, but you can start checking out and playing with the data early so you can make the most of the GovHack weekend. Please do check out the competition rules as well and remember, it’s about showing what you can do during the GovHack weekend. +

    + +

    + PLEASE NOTE: This list will be updated over the weeks leading up to GovHack and will only be finalised a few days before GovHack, so please keep checking back here for up to date information. +

    + +
    + +

    Federal Government Agency Datasets

    + + {% assign organisations = site.organisations | where: "jurisdiction", "australia" %} + {% include dataset_cards_by_organisation.bs.html organisations=organisations org_heading_lvl="h3" %} + +
    + +

    State & Local Government Agency Datasets

    + + {% for jurisdiction in site.jurisdictions %} + {% unless jurisdiction.gid == "australia" %} + {% assign organisations = site.organisations | where: "jurisdiction", jurisdiction.gid %} + + {% capture jurisdiction_datasets %}{% include dataset_cards_by_organisation.bs.html organisations=organisations dataset_org_heading_lvl="h5" %}{% endcapture %} + {% assign jurisdiction_datasets = jurisdiction_datasets | strip %} + + {% if jurisdiction_datasets != "" %} +
    +

    {{ jurisdiction.name }}

    + {{ jurisdiction_datasets }} +
    +
    +
    + {% endif %} + {% endunless %} + {% endfor %} + {% endif %} +
    +
    +
    + +{% assign dataportal_ids = "" %} +{% for dataportal in site.dataportals %} + {% if dataportal.type == "major-portal" %} + {% if dataportal.gid != "datagovau" %} + {% assign dataportal_ids = dataportal_ids | append: dataportal.gid %} + {% assign dataportal_ids = dataportal_ids | append: "," %} + {% endif %} + {% endif %} +{% endfor %} +
    + +{% comment %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Data Portals

    +
    +
    +
    +

    + While GovHack higlights a small number of official competition datasets, the full treasure trove of government data is available from a range of government, agency, and subject-area specific data portals. Visit our Data Portals page for the full list. +

    + {% comment %} + ============================================================== + Hack to make data.gov.au appear first in the list. + ============================================================== + {% endcomment %} + + {% assign dataportal_ids = "datagovau," | append: dataportal_ids %} + {% assign dataportal_ids_list = dataportal_ids | lstrip | split: "," %} + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids_list %} +
    +
    +
    +{% endunless %} +{% endcomment %} + +{% assign dataportal_ids = site.dataportals | where: "type", "major-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Major Government Data Portals

    +
    +
    +
    +

    + While GovHack higlights a small number of official competition datasets, the full treasure trove of government data is available from a range of government, agency, and subject-area specific data portals. +

    + + {% comment %} + ============================================================== + Hack to make data.gov.au appear first in the list. + ============================================================== + {% endcomment %} + {% assign dataportal_ids_str = dataportal_ids | join: "," %} + {% assign dataportal_ids_str = dataportal_ids_str | replace_first: "actmapi,dataactgovau,datagovau,", "datagovau,dataactgovau,actmapi," %} + + {% assign dataportal_ids = dataportal_ids_str | split: "," %} + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} + +{% assign dataportal_ids = site.dataportals | where: "type", "agency-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Agency Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} + +{% assign dataportal_ids = site.dataportals | where: "type", "local-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Local Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} + +

    + Is your local government not listed? Check out Open Council Data - an unofficial index of local government data portals in Australia. +

    +
    +
    +
    +{% endunless %} + +{% assign dataportal_ids = site.dataportals | where: "type", "domain-portal" | map: "gid" %} +{% unless dataportal_ids == "" %} + +
    +
    +
    +
    +

    Domain-specific Data Portals

    +
    +
    +
    + {% include dataportal_cards.bs.html dataportal_ids=dataportal_ids %} +
    +
    +
    +{% endunless %} diff --git a/favicon-science.ico b/favicon-science.ico new file mode 100644 index 0000000..b5e885b Binary files /dev/null and b/favicon-science.ico differ diff --git a/favicon.ico b/favicon.ico index b5e885b..9f74a39 100644 Binary files a/favicon.ico and b/favicon.ico differ diff --git a/feed/jurisdictions/australia.json b/feed/jurisdictions/australia.json new file mode 100644 index 0000000..e0c6437 --- /dev/null +++ b/feed/jurisdictions/australia.json @@ -0,0 +1 @@ +{"id": "australia", "title": "Australia", "name": "Australia", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/australian_capital_territory.json b/feed/jurisdictions/australian_capital_territory.json new file mode 100644 index 0000000..e68b8ac --- /dev/null +++ b/feed/jurisdictions/australian_capital_territory.json @@ -0,0 +1 @@ +{"name": "Australian Capital Territory", "title": "ACT", "eventbrite": "https://actgovhack2016competitor.eventbrite.com.au/", "id": "act", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/international.json b/feed/jurisdictions/international.json new file mode 100644 index 0000000..befbc3f --- /dev/null +++ b/feed/jurisdictions/international.json @@ -0,0 +1 @@ +{"id": "international", "title": "International", "name": "International", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/new_south_wales.json b/feed/jurisdictions/new_south_wales.json new file mode 100644 index 0000000..4463913 --- /dev/null +++ b/feed/jurisdictions/new_south_wales.json @@ -0,0 +1 @@ +{"name": "New South Wales", "title": "NSW", "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "id": "nsw", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/new_zealand.json b/feed/jurisdictions/new_zealand.json new file mode 100644 index 0000000..ec5afbd --- /dev/null +++ b/feed/jurisdictions/new_zealand.json @@ -0,0 +1 @@ +{"id": "nz", "title": "NZ", "name": "New Zealand", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/northern_territory.json b/feed/jurisdictions/northern_territory.json new file mode 100644 index 0000000..9415c5c --- /dev/null +++ b/feed/jurisdictions/northern_territory.json @@ -0,0 +1 @@ +{"id": "nt", "title": "NT", "name": "Northern Territory", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/queensland.json b/feed/jurisdictions/queensland.json new file mode 100644 index 0000000..47a646e --- /dev/null +++ b/feed/jurisdictions/queensland.json @@ -0,0 +1 @@ +{"name": "Queensland", "title": "QLD", "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "id": "qld", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/south_australia.json b/feed/jurisdictions/south_australia.json new file mode 100644 index 0000000..f6b3d77 --- /dev/null +++ b/feed/jurisdictions/south_australia.json @@ -0,0 +1 @@ +{"name": "South Australia", "title": "SA", "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "id": "sa", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/tasmania.json b/feed/jurisdictions/tasmania.json new file mode 100644 index 0000000..81fd9f5 --- /dev/null +++ b/feed/jurisdictions/tasmania.json @@ -0,0 +1 @@ +{"name": "Tasmania", "title": "TAS", "eventbrite": "http://tasgovhack2016compete.eventbrite.com.au/", "id": "tas", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/victoria.json b/feed/jurisdictions/victoria.json new file mode 100644 index 0000000..460f4ea --- /dev/null +++ b/feed/jurisdictions/victoria.json @@ -0,0 +1 @@ +{"name": "Victoria", "title": "VIC", "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "id": "vic", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/jurisdictions/western_australia.json b/feed/jurisdictions/western_australia.json new file mode 100644 index 0000000..1c89dc6 --- /dev/null +++ b/feed/jurisdictions/western_australia.json @@ -0,0 +1 @@ +{"name": "Western Australia", "title": "WA", "eventbrite": "https://wagovhack2016competitor.eventbrite.com.au/", "id": "wa", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/adelaide-maker.json b/feed/locations/adelaide-maker.json new file mode 100644 index 0000000..4dc3293 --- /dev/null +++ b/feed/locations/adelaide-maker.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Adelaide Maker", "dataportals": ["adelaide"], "url": "http://portal.govhack.org/locations/sa/adelaide-maker.html", "jurisdiction": "sa", "venue": {"capacity": 50, "name": "The Maker\u2019s Studio at UniSA", "address": "Kaurna Building, City West Campus, Adelaide", "accessibility": "UniSA and the Maker\u2019s spaces within the Kaurna Building and Dorrit Black Building are fully equipped with disabled access and disabled toilets.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "University of South Australia", "childcare": "N/A", "public_transport": "Tram and bus are easily accessible from the City West Campus, which is also a short walk from King William Road with plenty of routes accessible from there.", "parking": "Wilson Car park on Hindley Street is the nearest car park available, please find map of the City West campus by clicking here (http://www.unisa.edu.au/Campus-Facilities/Maps-Tours/City-West-campus/City-West-campus-map/).", "public_transport_last": "N/A, the event will close at 10pm on Saturday. Buses and tram are still in operation at this time."}, "catering": "Catering will be provided for the duration of the event.", "prefix": "Unleashed", "contact": {"twitter": "ICCUnisa", "email": "sa@govhack.org"}, "location": {"lat": -34.9227541, "lon": 138.5911609}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_010.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_024.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICCeventByCathLeo-147.jpg"], "times": {"sunday": {"close": "6:00 PM", "open": "8:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "07:30 AM"}}, "type": "Maker Node", "id": "adelaide-maker", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/adelaide.json b/feed/locations/adelaide.json new file mode 100644 index 0000000..bf83cc4 --- /dev/null +++ b/feed/locations/adelaide.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Adelaide", "dataportals": ["adelaide"], "url": "http://portal.govhack.org/locations/sa/adelaide.html", "jurisdiction": "sa", "venue": {"capacity": 100, "name": "Innovation and Collaboration Centre (ICC) at UniSA", "address": "Level 4, Catherine Helen Spence Building, City West Campus. Enter off Fenn Place", "accessibility": "UniSA and the ICC are fully equipped with disabled access and disabled toilets. The Maker\u2019s Studio in the Kaurna Building, an industrial and open space with room to move enabling maximum creativity. Its dedicated facilities boast modern studios and workshops where Unleashed competitors will have unprecedented access to timber and metal machine areas, hand building, soft model and digital technology workshops (Unleashed competitors interested in using the Maker\u2019s studio will have to undertake a one hour compulsory induction prior to having access to these facilities).", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "University of South Australia", "childcare": "N/A", "public_transport": "Tram and bus are easily accessible from the City West Campus, which is also a short walk from King William Road with plenty of routes accessible from there.", "parking": "Wilson Car park on Hindley Street is the nearest car park available, please find map of the City West campus by clicking here (http://www.unisa.edu.au/Campus-Facilities/Maps-Tours/City-West-campus/City-West-campus-map/).", "public_transport_last": "N/A, the event will close at 10pm on Saturday. Buses and tram are still in operation at this time."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"twitter": "ICCUnisa", "email": "sa@govhack.org"}, "location": {"lat": -34.9227541, "lon": 138.5911609}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_010.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_024.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICCeventByCathLeo-147.jpg"], "times": {"sunday": {"close": "6:00 PM", "open": "8:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "8:00 PM", "open": "07:30 AM"}}, "type": "Official Event", "id": "adelaide", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/all.json b/feed/locations/all.json new file mode 100644 index 0000000..e6f58b1 --- /dev/null +++ b/feed/locations/all.json @@ -0,0 +1 @@ +[{"display_weight": 50, "name": "Heritage Hack", "dataportals": ["trove"], "url": "http://portal.govhack.org/locations/act/canberra-heritage-hack.html", "jurisdiction": "act", "venue": {"capacity": 40, "name": "Teaching Commons University of Canberra", "address": "Building 1, Level C (above the refectory), University of Canberra, Bruce, ACT", "accessibility": "See the [campus map for disablity access](http://www.canberra.edu.au/maps/campus-map-for-people-with-disabilities)\n", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Tim Sherratt", "public_transport": "[Public transport](Public transport is available) is available. [Eight different bus routes](http://www.canberra.edu.au/on-campus/parking/bus-bike-and-fleet-vehicles) service the university on weekends.\n", "parking": "Plenty of [parking is available](http://www.canberra.edu.au/maps/parking). It's free after 6.00pm and on weekends. \n"}, "theme": "Heritage data", "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "05:00 PM"}, "saturday": {"close": "05:00 PM", "open": "09:00 AM"}}, "prefix": "Canberra", "contact": {"twitter": "UCHeritageHack", "email": "canberra-theme@govhack.org"}, "location": {"lat": -35.238244, "lon": 149.08448}, "eventbrite": "https://actgovhack2016competitor.eventbrite.com.au/", "type": "Theme Node", "id": "canberra-heritage-hack", "is_capital_city": true}, {"display_weight": 20, "name": "Canberra", "url": "http://portal.govhack.org/locations/act/canberra.html", "jurisdiction": "act", "venue": {"name": "Canberra Grammar School - The Snow Centre", "address": "40 Monaro Crescent, Red Hill, ACT, 2603", "accessibility": "Venue is accessible from the main school carpark via footpaths. The Snow Centre has a lift which provides access to all levels of the building.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Matthew Purcell", "childcare": "There will be no childcare arrangements at this event.", "public_transport": "ACTION buses depart from the bus stop on Golden Grove, next to the Snow Centre.", "parking": "Parking is available in the main school carparks off Monaro Crescent. Note, there will be a large number of sporting matches taking place on the school ovals on Saturday morning so it is advisable to arrive early to GovHack otherwise parking could be difficult.", "public_transport_last": "Check the ACTION website for details."}, "times": {"sunday": {"close": "07:00 PM", "open": "08:00 AM"}, "friday": {"close": "011:00 PM", "open": "06:00 PM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"email": "canberra@govhack.org"}, "location": {"lat": -35.330529, "lon": 149.125984}, "eventbrite": "https://actgovhack2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1155.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1222.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1636.jpg"], "catering": "Friday 29 July 2016: Dinner, Snacks\nSaturday 30 July 2016: Lunch, Dinner, Snacks\nSunday 31 July 2016: Lunch, Snacks\n", "type": "Official Event", "id": "canberra", "is_capital_city": true}, {"website": {"url": "https://govhack-camperdown.boomworks.com.au", "name": "Visit GovHack Camperdown Site"}, "display_weight": 50, "name": "Camperdown Games for Learning", "url": "http://portal.govhack.org/locations/nsw/camperdown-games.html", "jurisdiction": "nsw", "venue": {"capacity": 40, "name": "Boomworks Studios", "address": "34 Denison St, Camperdown", "accessibility": "All facilities are accessible for wheelchairs via our garage. We have a disabled toilet and all other amenities, and some work spaces are located on the ground level.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Vivid Savitri", "public_transport": "Buses are available on Parramatta Rd, and the nearest train station is Newtown Station.", "parking": "All day parking is available on the Boomworks side of Denison St.", "public_transport_last": "Please use TripView to access all relevant public transport options closer to the date."}, "times": {"sunday": {"close": "06:30 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "07:00 PM"}, "saturday": {"close": "07:00 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackCamper", "flickr": "https://www.flickr.com/photos/120617262@N04/", "email": "camperdown@govhack.org"}, "location": {"lat": -33.889348, "lon": 151.1746}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Boomworks_Govhack_2016.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(4).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(5).jpg"], "catering": "Food will be available over the 3 days. Dinner will be provided on Friday night and a light breakfast and lunch will be provided on Saturday and Sunday. Vegetarian options will be available as well. Gluten intolerant attendees may need to provide their own meals and snacks.\n", "type": "Theme Node", "id": "camperdown-games", "is_capital_city": true}, {"display_weight": 30, "name": "Parramatta", "url": "http://portal.govhack.org/locations/nsw/parramatta.html", "jurisdiction": "nsw", "venue": {"capacity": 50, "name": "Collaboratory", "address": "Level 2, 96 Phillip Street, Parramatta NSW 2154", "accessibility": "Fully wheelchair accessible", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Andrew Perry \u2013 Open Local", "public_transport": "Venue is 10 minute walk from Parramatta Station and there is a shuttle bus that goes from the station to the venue ever 15 minutes. Venue is also located right next to the Parramtta Ferry.", "parking": "The is metered street parking available at the venue.", "public_transport_last": "The last train going to central is at 12.30am."}, "times": {"sunday": {"close": "07:30 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "11:30 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackParra", "email": "govhack@openlocal.org.au"}, "location": {"lat": -33.813472, "lon": 151.009487}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "catering": "Snacks, Drinks, Tea and Coffee will all be provided. Main meals will be able to be purchased from local cafes etc.", "type": "Official Event", "id": "parramatta", "is_capital_city": true}, {"display_weight": 50, "name": "Tyro Fintech Hub", "url": "http://portal.govhack.org/locations/nsw/sydney-fintech.html", "jurisdiction": "nsw", "venue": {"capacity": 80, "name": "Tyro Fintech Hub", "team": "Kingsley Jones, Nick Addison", "accessibility": "Elevator is available for wheelchairs", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events", "host": "Sharon Lu", "childcare": "No formal childcare arrangements, however young children accompanying parents are welcome!", "public_transport": "Wynyard Station, Carrington Street bus stop at Wynyard.", "address": "155 Clarence Street", "parking": "Street Parking. Wilsons parking nearby.", "public_transport_last": "10pm - Midnight"}, "theme": "Blockchain, Data, Security, Finance", "times": {"sunday": {"close": "08:00pm", "open": "08:00am"}, "friday": {"close": "12:00am", "open": "05:30pm"}, "saturday": {"close": "12:00am", "open": "08:00am"}}, "prefix": "GovHack", "contact": {"facebook": "Tyro-FinTech-Hub-1746330092268665", "email": "sydney-theme@govhack.org"}, "location": {"lat": -33.86801, "lon": 151.205002}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "catering": "BYO Lunch, there will also be an organised lunch run where you can put $15-20 towards and have it delivered to you.", "type": "Theme Node", "id": "sydney-fintech", "is_capital_city": true}, {"display_weight": 20, "name": "Sydney Official", "url": "http://portal.govhack.org/locations/nsw/sydney.html", "jurisdiction": "nsw", "venue": {"host": "Angela Bee", "capacity": 150, "name": "Stone & Chalk", "address": "Level 2, 50 Bridge Street, Sydney 2000", "parking": "Not recommended, Circular Quay station is 2 mins walk away", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "public_transport": "Circular Quay railway station is 2 mins walk away"}, "times": {"sunday": {"close": "08:00 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackSydney", "email": "sydney@govhack.org"}, "location": {"lat": -33.862788, "lon": 151.211507}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "images": ["https://www.govhack.org/wp-content/uploads/2016/07/stonechalk.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Sydney-nsw/HA%23hackaus.png"], "type": "Official Event", "id": "sydney", "is_capital_city": true}, {"display_weight": 50, "name": "Auckland", "url": "http://portal.govhack.org/locations/nz/auckland.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -36.856497, "lon": 174.760324}, "type": "Official Event", "id": "auckland", "website_url": "http://govhack.org.nz/2016-events-and-info/auckland/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 50, "name": "Christchurch", "url": "http://portal.govhack.org/locations/nz/christchurch.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -43.535557, "lon": 172.635696}, "type": "Official Event", "id": "christchurch", "website_url": "http://govhack.org.nz/2016-events-and-info/christchurch/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 70, "name": "Dunedin", "url": "http://portal.govhack.org/locations/nz/dunedin.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -45.878693, "lon": 170.50258}, "type": "Official Event", "id": "dunedin", "website_url": "http://govhack.org.nz/2016-events-and-info/dunedin/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 70, "name": "Hamilton", "url": "http://portal.govhack.org/locations/nz/hamilton.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -37.788653, "lon": 175.280201}, "type": "Official Event", "id": "hamilton", "website_url": "http://govhack.org.nz/2016-events-and-info/hamilton/", "photo_url": "/resources/csiro-logo.png"}, {"capital_city": false, "display_weight": 80, "name": "Napier, Hawkes Bay", "url": "http://portal.govhack.org/locations/nz/napier-hawkes-bay.html", "jurisdiction": "nz", "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -39.49423, "lon": 176.908529}, "type": "Official Event", "id": "napie-hawkes-bay", "website_url": "http://govhack.org.nz/2016-events-and-info/hawkes-bay/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 80, "name": "Northland", "url": "http://portal.govhack.org/locations/nz/northland.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -35.5795, "lon": 173.7624}, "type": "Official Event", "id": "northland", "website_url": "http://govhack.org.nz/2016-events-and-info/whangarei/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 70, "name": "Queenstown", "url": "http://portal.govhack.org/locations/nz/queenstown.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -45.031136, "lon": 168.662395}, "type": "Official Event", "id": "queenstown", "website_url": "http://govhack.org.nz/2016-events-and-info/queenstown/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 30, "name": "Wellington", "url": "http://portal.govhack.org/locations/nz/wellington.html", "jurisdiction": "nz", "is_capital_city": true, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -41.28695, "lon": 174.775608}, "type": "Official Event", "id": "wellington", "website_url": "http://govhack.org.nz/2016-events-and-info/wellington/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 70, "name": "Whanganui", "url": "http://portal.govhack.org/locations/nz/whanganui.html", "jurisdiction": "nz", "is_capital_city": true, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -39.9301, "lon": 175.0479}, "type": "Official Event", "id": "whanganui", "website_url": "http://govhack.org.nz/2016-events-and-info/whanganui/", "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 40, "name": "Brisbane GovHack Maker Node", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane-maker.html", "jurisdiction": "qld", "venue": {"capacity": 40, "name": "HSBNE", "address": "217 MacArthur Ave, Eagle Farm, QLD 400", "accessibility": "The venue is on the ground floor and parking is available close by.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Anna Gerber", "public_transport": "Northshore Hamilton City Cat is right outside the venue. Please see http://hsbne.org/thespace.html for more details on transport \n", "parking": "Free Parking is available on site. Please see http://hsbne.org/thespace.html for more details on transport \n", "public_transport_last": "The last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "06:00 PM"}, "saturday": {"close": "09:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.443391, "lon": 153.079033}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ We will join the main GovHack Brisbane node on the Friday evening for the launch and dinner.\n+ Basic lunch will be provided each day \n", "type": "Maker Node", "id": "brisbane-maker", "is_capital_city": false}, {"display_weight": 20, "name": "Brisbane Youth Node", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane-youth.html", "jurisdiction": "qld", "venue": {"capacity": 50, "name": "Advanced Engineering Building, The University of Queensland, St Lucia", "team": "Marie Boden, Edge Pereira, Siddeswara Guru, Nicolette Venn", "accessibility": "The venue has lifts between levels and ramps at each entrance.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events", "host": "Jason Weigel @jnweigel", "public_transport": "The University of Queensland, St Lucia can be reached by Bus and CityCat. There are two stops which can be used UQ Chancellor\u2019s Place and UQ Lakes for buses and for the CityCat the stop is UQ St Lucia ferry terminal. The UQ Lakes and UQ St Lucia ferry terminal have easier access to the event venue.\nDetails on times and routes can be found at [the Translink website](http://translink.com.au/).\n", "address": "Building 49, The University of Queensland, Staff House Road, St Lucia QLD 4072", "parking": "Paid parking is available on Friday evening before 9pm at the Conifer Knoll carpark (98D) or on Sir William Macgregor Drive. Parking is $5 per day.\nAfter 9pm on Friday and for the remainder of the event parking is free. [Map of Conifer Knoll Carpark](https://www.google.com.au/maps/place/98D,+St+Lucia+QLD+4067/@-27.4993894,153.0159301,17z/data=!3m1!4b1!4m5!3m4!1s0x6b915a7924330791:0x8bb5375caf6cd7!8m2!3d-27.4993525!4d153.018182)\n", "public_transport_last": "On Friday the last bus leaving UQ Lakes is between 9pm and 9.30pm. On the weekend the last bus leaving UQ Lakes is between 5.30pm and 6pm.\nOn Friday the last bus leaving UQ Chancellor\u2019s Place is between 10pm and midnight depending on destination. On the weekend the last bus leaving UQ Chancellor\u2019s Place is between 8pm and midnight depending on destination.\nThe last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "05:30 PM"}, "saturday": {"close": "06:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.495792, "lon": 153.012395}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ Dinner will be provided following the Opening on Friday evening.\n+ Lunch will be provided on Saturday and Sunday.\n\nAccess to a kitchen stocked with coffee/tea/juices/softdrink and snacks will be available outside standard meals.\n", "type": "Youth Node", "id": "brisbane-youth", "is_capital_city": true}, {"display_weight": 20, "name": "Brisbane Official", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane.html", "jurisdiction": "qld", "venue": {"capacity": 200, "name": "Advanced Engineering Building, The University of Queensland, St Lucia", "team": "Marie Boden, Edge Pereira, Siddeswara Guru, Nicolette Venn", "accessibility": "The venue has lifts between levels and ramps at each entrance.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Jason Weigel", "public_transport": "The University of Queensland, St Lucia can be reached by Bus and CityCat. There are two stops which can be used UQ Chancellor\u2019s Place and UQ Lakes for buses and for the CityCat the stop is UQ St Lucia ferry terminal. The UQ Lakes and UQ St Lucia ferry terminal have easier access to the event venue.\nDetails on times and routes can be found at [the Translink website](http://translink.com.au/).\n", "address": "Building 49, The University of Queensland, Staff House Road, St Lucia QLD 4072", "parking": "Paid parking is available on Friday evening before 9pm at the Conifer Knoll carpark (98D) or on Sir William Macgregor Drive. Parking is $5 per day.\nAfter 9pm on Friday and for the remainder of the event parking is free. [Map of Conifer Knoll Carpark](https://www.google.com.au/maps/place/98D,+St+Lucia+QLD+4067/@-27.4993894,153.0159301,17z/data=!3m1!4b1!4m5!3m4!1s0x6b915a7924330791:0x8bb5375caf6cd7!8m2!3d-27.4993525!4d153.018182)\n", "public_transport_last": "On Friday the last bus leaving UQ Lakes is between 9pm and 9.30pm. On the weekend the last bus leaving UQ Lakes is between 5.30pm and 6pm.\nOn Friday the last bus leaving UQ Chancellor\u2019s Place is between 10pm and midnight depending on destination. On the weekend the last bus leaving UQ Chancellor\u2019s Place is between 8pm and midnight depending on destination.\nThe last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "12:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:00 PM"}, "saturday": {"close": "11:59 PM", "open": "12:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.495792, "lon": 153.012395}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ Dinner will be provided following the Opening on Friday evening.\n+ Breakfast, Lunch and Dinner will be provided on Saturday.\n+ Breakfast and Lunch will be provided on Sunday.\n\nAccess to a kitchen stocked with coffee/tea/juices/softdrink and snacks will be available outside standard meals. Alternatively food retailers can be found around the university campus and slightly off-campus in Hawken Village.\n", "type": "Official Event", "id": "brisbane", "is_capital_city": true}, {"website": {"url": "http://govhackfnq.org", "name": "GovHack FNQ"}, "display_weight": 40, "name": "Far North Queensland", "url": "http://portal.govhack.org/locations/qld/fnq.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "The Space", "team": "Robin Macpherson, Kurt Schoenhoff, Naomi Coleman, Damian Zammit", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Robin Macpherson", "public_transport": "Buses go past the Tafe college", "address": "TAFE U-block Eureka Street, Manunda QLD, 4870", "parking": "Ample parking", "public_transport_last": "10PM"}, "theme": "Tourism", "times": {"sunday": {"close": "10:03 PM", "open": "08:03 AM"}, "friday": {"close": "11:03 PM", "open": "05:03 PM"}, "saturday": {"close": "11:03 PM", "open": "08:03 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackFNQ", "email": "team@govhackfnq.org"}, "location": {"lat": -16.921354, "lon": 145.753961}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "Self catering; more details to come", "type": "Theme Node", "id": "fnq", "is_capital_city": false}, {"website": {"url": "http://govhackgc.co", "name": "GovHack GC"}, "display_weight": 50, "name": "Gold Coast", "dataportals": ["gold-coast"], "url": "http://portal.govhack.org/locations/qld/gold-coast.html", "jurisdiction": "qld", "venue": {"capacity": 150, "name": "Red Zone, Griffith University Gold Coast Campus", "team": "Tanya Lipus, Jolon Faichney", "accessibility": "Lifts available for access to upper levels of G40", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Joshua Holmes", "public_transport": "The best way of getting to and from GovHack Gold Coast from the southern Gold Coast is riding the G in conjunction with a regular bus service. \n\n+ Uber is available on the Gold Coast and they have provided new users with $20 credit by entering the code `GOVHACK16`. [Estimate the costs here](https://www.uber.com/fare-estimate/). \n+ The Gold Coast University Hospital Station is closest and runs 24 hours between Friday and Sunday night. The G: departs every 10 to 30 minutes towards Broadbeach South. \n+ From Broadbeach South, bus route 700 will take you all the way to the Tweed 24 hours, every 7 to 15 minutes. \n+ From the northern Gold Coast, buses are available along various routes, including 709 towards Helensvale where you can transfer to the train. \n+ Western Gold Coast regions can be accessed via the G and bus routes 740 and 750 towards Nerang and Robina respectively.\n+ Plan your journey at the [Translink website](http://jp.translink.com.au/).\n", "address": "G40, Griffith University Gold Coast Campus, Parklands Drive, Southport 4215", "parking": "Limited free parking will be available to participants in the general parking zones of Griffith University using the supplied parking permit.", "public_transport_last": "+ The G and bus route 700 runs 24 hours on weekends.\n+ Bus route 709 finishes at 11.14pm, route 750 finishes at 12.27am from Broadbeach South and route 740 finishes at 11.16pm from Surfers Paradise.\n"}, "catering": "+ Friday - Supper\n+ Saturday - Breakfast Lunch and Dinner\n+ Sunday - Breakfast lunch and dinner\n", "prefix": "GovHack", "contact": {"twitter": "GovHackGC", "facebook": "GovHackGC", "email": "gc@govhack.org"}, "location": {"lat": -27.960257, "lon": 153.379248}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(1).png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(3).jpg"], "times": {"sunday": {"close": "06:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "gold-coast", "is_capital_city": false}, {"display_weight": 50, "name": "Ipswich", "url": "http://portal.govhack.org/locations/qld/ipswich-digital-city.html", "jurisdiction": "qld", "venue": {"capacity": 160, "name": "Fire Station 101", "address": "101 Limestone Street", "accessibility": "Wheelchair access through the front of the building", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Chad Renando", "public_transport": "Ipswich Train Station is a 5 minute walk from Fire Station 101", "parking": "Street parking is available.", "public_transport_last": "Last train leaves Ipswich at 12:30am"}, "prefix": "GovHack", "times": {"sunday": {"close": "11:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:00 PM", "open": "08:00 PM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "theme": "Digital City", "location": {"lat": -27.615344, "lon": 152.754495}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/FS101+workspace+with+members.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/IMG_7993-1024x768.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/IMG_8018-1024x768.jpg"], "catering": "Lunch will be provided for Saturday and Sunday. Coffee available on-site.", "type": "Theme Node", "id": "ipswich-digital-city", "is_capital_city": false, "photo_url": "/resources/csiro-logo.png"}, {"display_weight": 40, "name": "Logan", "url": "http://portal.govhack.org/locations/qld/logan.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "Griffith University Logan Campus (Meadowbrook Room 4.07)", "team": "Marion Lawie, Joan Culverhouse, Deepak Parmar, Jignesh Trivedi, Raxa Trivedi", "accessibility": "Meadowbrook Room 4.07; [Logan Campus](https://www162.griffith.edu.au/public/campus-maps/building-locations-map-log.pdf) is wheelchair friendly.\n", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Ashish Shah", "public_transport": "**Bus**: You can catch the bus from a variety of locations around the city, including Browns Plains, the Logan Hyperdome, Grand Plaza Shopping Centre and Loganlea train station. \n**Train**: The nearest train station is Loganlea, and a bus runs between the station and our campus every 30 minutes.\n", "address": "University Dr, Meadowbrook QLD 4131", "parking": "[University campus](https://www.griffith.edu.au/about-griffith/campuses-and-facilities/logan/transport-and-parking), plenty available.\n", "public_transport_last": "To be checked on Translink website"}, "theme": "Future Logan in Integrated SEQ", "times": {"sunday": {"close": "07:10 PM", "open": "08:30 AM"}, "friday": {"close": "09:10 PM", "open": "05:30 PM"}, "saturday": {"close": "09:10 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackLogan", "facebook": "GovHackLogan", "email": "logan@govhack.org"}, "location": {"lat": -27.664164, "lon": 153.15172}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "TBA", "type": "Theme Node", "id": "logan", "is_capital_city": false}, {"display_weight": 50, "name": "Rockhampton", "dataportals": ["gold-coast"], "url": "http://portal.govhack.org/locations/qld/rockhampton-maker.html", "jurisdiction": "qld", "venue": {"host": "Brooke Brandon", "capacity": 80, "name": "Smart Hub Rockhampton", "address": "212 Quay St, Rockhampton City QLD 4700", "accessibility": "Wheelchair accessible", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "public_transport_last": "No public transport after 6 pm. Taxis optional."}, "theme": "ROCKYing the regions", "times": {"sunday": {"close": "10:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "04:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "govhackrocky", "email": "brookebrandon@headricks.com.au"}, "location": {"lat": -23.378562, "lon": 150.514809}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "type": "Theme Node", "id": "rockhampton-maker", "is_capital_city": false}, {"display_weight": 40, "name": "Sunshine Coast", "dataportals": ["sunshine-coast"], "url": "http://portal.govhack.org/locations/qld/sunshine-coast.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "Spark Bureau", "address": "17 Ocean Street, Maroochydore 4558", "accessibility": "Access to Spark Bureau is by way of stairwell. Please advise us of your needs and we will accommodate you.", "under_18": "We are a Youth Node and will provide a child Safe environment. Guardians must ensure safety to and from events.", "host": "Danielle Neale", "childcare": "We welcome parents and carers at the event. Please advise us of your needs and we will accommodate you.", "public_transport": "Sunshine Plaza is the nearest public transport.", "parking": "There is limited parking on Ocean Street so we are looking into what we can do to accommodate you better. Check back for details ahead of the event.", "public_transport_last": "TBA"}, "catering": "Catering will be provided. More details to come on Friday 29th July. Please advise us if you have any special dietary requirements.", "prefix": "GovHack", "contact": {"phone": "0481 451 636", "twitter": "GovHackSC", "facebook": "GovHackSC", "email": "sunshinecoast@govhack.org"}, "location": {"lat": -26.652129, "lon": 153.090542}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(4).JPG", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(5).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(6).jpg"], "times": {"sunday": {"close": "10:00 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "05:30 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "type": "Theme Node", "id": "sunshine-coast", "is_capital_city": false}, {"website": {"url": "http://tr.qld.gov.au/", "name": "Toowoomba Region"}, "display_weight": 50, "name": "Toowoomba", "dataportals": ["toowoomba"], "url": "http://portal.govhack.org/locations/qld/toowoomba.html", "jurisdiction": "qld", "venue": {"capacity": 40, "name": "Canvas Coworking Space", "address": "Suite 1, 625 Ruthven St, Toowoomba Qld 4350", "accessibility": "Wheelchair access is available via either entrance, however there are stairs in the middle of the building, therefore it is recommended to enter via Ruthven St.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Joy Taylor, David Masefield", "childcare": "You are welcome to bring your children to the event, however no formal childcare arrangements are available...therefore you will remain solely responsible for your children whilst they are here. We do have a chill out area, with XBox and TV which they are welcome to use.", "parking": "Parking is available in the surrounding streets, along Ruthven St, Telford St and Mann St.\nAccess to the building is via either Ruthven St (our doorway is next to the Vehicle Brokers, near August Moon Chinese Restaurant... opposite Bob Jane TMart) or via the rear of the building off Mann St.\n"}, "catering": "Breakfast, Lunch and Dinner, with snack, tea & coffee will be provided.", "prefix": "GovHack", "contact": {"twitter": "GovHackQld", "email": "toowoomba@govhack.org"}, "location": {"lat": -27.567963, "lon": 151.952122}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Previous+Event+1.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Previous+Event+2.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+1.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+2.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+3.jpg"], "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:00 PM", "open": "08:00 AM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "toowoomba", "is_capital_city": false}, {"display_weight": 20, "name": "Adelaide Maker", "dataportals": ["adelaide"], "url": "http://portal.govhack.org/locations/sa/adelaide-maker.html", "jurisdiction": "sa", "venue": {"capacity": 50, "name": "The Maker\u2019s Studio at UniSA", "address": "Kaurna Building, City West Campus, Adelaide", "accessibility": "UniSA and the Maker\u2019s spaces within the Kaurna Building and Dorrit Black Building are fully equipped with disabled access and disabled toilets.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "University of South Australia", "childcare": "N/A", "public_transport": "Tram and bus are easily accessible from the City West Campus, which is also a short walk from King William Road with plenty of routes accessible from there.", "parking": "Wilson Car park on Hindley Street is the nearest car park available, please find map of the City West campus by clicking here (http://www.unisa.edu.au/Campus-Facilities/Maps-Tours/City-West-campus/City-West-campus-map/).", "public_transport_last": "N/A, the event will close at 10pm on Saturday. Buses and tram are still in operation at this time."}, "catering": "Catering will be provided for the duration of the event.", "prefix": "Unleashed", "contact": {"twitter": "ICCUnisa", "email": "sa@govhack.org"}, "location": {"lat": -34.9227541, "lon": 138.5911609}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_010.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_024.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICCeventByCathLeo-147.jpg"], "times": {"sunday": {"close": "6:00 PM", "open": "8:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "07:30 AM"}}, "type": "Maker Node", "id": "adelaide-maker", "is_capital_city": true}, {"display_weight": 20, "name": "Adelaide", "dataportals": ["adelaide"], "url": "http://portal.govhack.org/locations/sa/adelaide.html", "jurisdiction": "sa", "venue": {"capacity": 100, "name": "Innovation and Collaboration Centre (ICC) at UniSA", "address": "Level 4, Catherine Helen Spence Building, City West Campus. Enter off Fenn Place", "accessibility": "UniSA and the ICC are fully equipped with disabled access and disabled toilets. The Maker\u2019s Studio in the Kaurna Building, an industrial and open space with room to move enabling maximum creativity. Its dedicated facilities boast modern studios and workshops where Unleashed competitors will have unprecedented access to timber and metal machine areas, hand building, soft model and digital technology workshops (Unleashed competitors interested in using the Maker\u2019s studio will have to undertake a one hour compulsory induction prior to having access to these facilities).", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "University of South Australia", "childcare": "N/A", "public_transport": "Tram and bus are easily accessible from the City West Campus, which is also a short walk from King William Road with plenty of routes accessible from there.", "parking": "Wilson Car park on Hindley Street is the nearest car park available, please find map of the City West campus by clicking here (http://www.unisa.edu.au/Campus-Facilities/Maps-Tours/City-West-campus/City-West-campus-map/).", "public_transport_last": "N/A, the event will close at 10pm on Saturday. Buses and tram are still in operation at this time."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"twitter": "ICCUnisa", "email": "sa@govhack.org"}, "location": {"lat": -34.9227541, "lon": 138.5911609}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_010.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICC_021115_024.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/adelaide/ICCeventByCathLeo-147.jpg"], "times": {"sunday": {"close": "6:00 PM", "open": "8:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "8:00 PM", "open": "07:30 AM"}}, "type": "Official Event", "id": "adelaide", "is_capital_city": true}, {"display_weight": 40, "name": "Mount Gambier", "url": "http://portal.govhack.org/locations/sa/mount-gambier-youth.html", "jurisdiction": "sa", "venue": {"capacity": 80, "name": "Mount Gambier Library", "address": "6 Watson Terrace, Mount Gambier SA 5290", "accessibility": "Detailed information to be provided soon.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Mount Gambier", "childcare": "N/A", "public_transport": "Detailed information to be provided soon.", "parking": "Detailed information to be provided soon.", "public_transport_last": "Detailed information to be provided soon."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "MountGambierLib", "facebook": "TheMountGambierLibrary", "email": "sa@govhack.org"}, "location": {"lat": -37.829274, "lon": 140.7794058}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/CompetitionTime5.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/MGBLibrary2016-39b.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/MountGambierLibraryfront.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/preview-full-AnesuChiodzeofNexusIsBack.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/preview-full-CompetitionTime.jpg"], "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "09:00 AM"}}, "type": "Official Event", "id": "mount-gambier-youth", "is_capital_city": false}, {"display_weight": 30, "name": "Onkaparinga", "dataportals": ["onkaparinga"], "url": "http://portal.govhack.org/locations/sa/onkaparinga.html", "jurisdiction": "sa", "venue": {"capacity": 50, "name": "Seaford Library", "address": "Grand Boulevard, Seaford SA 5169", "accessibility": "Seaford library has good accessibility. The building is one-level, close to car parking, has automatic entrance doors and is wheelchair friendly.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Onkaparinga", "childcare": "N/A", "public_transport": "There are various bus services to Seaford Library. Bus stop 84A (STOP CODE 17100) is directly in front of the library and various bus services stop here or at the local exchange. Consult Adelaide Metro https://www.adelaidemetro.com.au/ for routes to suit your start location and for times. The train service also terminates at the Seaford station and it is a short walk to Seaford library. It is an ideal transport option as there are regular scheduled services from Seaford to the city centre. Again consult Adelaide Metro https://www.adelaidemetro.com.au/ for service details.", "parking": "Seaford library has ample and easily accessible car parking. There are car park spaces for those with a disability parking permit very close to the library entrance.", "public_transport_last": "Please consult Adelaide Metro https://www.adelaidemetro.com.au/ for service details."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Lunch/tea / Sunday 31st \u2013 Lunch / We will be able to meet dietary requirements as registered and provide healthy snacks/drinks", "prefix": "Unleashed", "contact": {"email": "sa@govhack.org"}, "location": {"lat": -35.1864896, "lon": 138.4789362}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_201.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_205.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_206.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "09:00 PM", "open": "06:00 PM"}, "saturday": {"close": "09:00 PM", "open": "09:00 AM"}}, "type": "Official Event & Youth Node", "id": "onkaparinga", "is_capital_city": true}, {"display_weight": 50, "name": "Playford", "url": "http://portal.govhack.org/locations/sa/playford.html", "jurisdiction": "sa", "venue": {"capacity": 40, "name": "Stretton Centre", "address": "307 Peachey Road, Munno Para SA 5115", "accessibility": "Detailed information to be provided soon.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Playford", "childcare": "N/A", "public_transport": "Detailed information to be provided soon.", "parking": "Detailed information to be provided soon.", "public_transport_last": "Detailed information to be provided soon."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Lunch/tea / Sunday 31st \u2013 Lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "PlayfordLibrary", "facebook": "StrettonCentre", "email": "sa@govhack.org"}, "location": {"lat": -34.6689999, "lon": 138.6782796}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Foyer.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Table.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Workspace.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Outside.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "09:30 PM", "open": "06:30 PM"}, "saturday": {"close": "09:30 PM", "open": "10:00 AM"}}, "type": "Official Event", "id": "playford", "is_capital_city": false}, {"display_weight": 30, "name": "Port Adelaide Enfield", "dataportals": ["enfield"], "url": "http://portal.govhack.org/locations/sa/port-adelaide-enfield.html", "jurisdiction": "sa", "venue": {"capacity": 20, "name": "Port Adelaide Library", "address": "2 Church Street, Port Adelaide SA 5015", "accessibility": "Venue has wheelchair access via main entrance.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Port Adelaide Enfield", "childcare": "N/A", "public_transport": "Train \u2013 Outer Harbour line (http://www.adelaidemetro.com.au/routes/OUTHA) / Bus \u2013 Route 117 & 118 (http://www.adelaidemetro.com.au/routes/117 / http://www.adelaidemetro.com.au/routes/118).", "parking": "Shopping centre carpark (2 hour limit) and off street parking available within walking distance of venue.", "public_transport_last": "Train \u2013 Outer Harbour line 11:19pm (Friday, Saturday & Sunday) to City. / Bus \u2013 Route 117 & 118 11:01pm (Friday) to City / 10:50pm (Saturday & Sunday) to City."}, "catering": "Friday 29th July \u2013 Supper/snacks / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "cityofpae", "facebook": "cityofpae", "email": "sa@govhack.org"}, "location": {"lat": -34.847472, "lon": 138.5013009}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_201.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_203.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_204.png"], "times": {"sunday": {"close": "5:00 PM", "open": "9:00 AM"}, "friday": {"close": "9:00 PM", "open": "06:00 PM"}, "saturday": {"close": "9:00 PM", "open": "09:00 AM"}}, "type": "Youth Node", "id": "port-adelaide-enfield", "is_capital_city": true}, {"name": "Hobart", "dataportals": ["hobart", "glenorchy"], "url": "http://portal.govhack.org/locations/tas/hobart.html", "jurisdiction": "tas", "venue": {"capacity": 60, "name": "Factoryfloor, Old Mercury Building", "address": "91-93 Macquarie Street, Hobart", "accessibility": "There are stairs on the main entrance, so this building is not really suitable for wheelchair access. However, if you'd like to discuss accessibility further and look at the venue ahead of the event, please contact the local event organisers.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Craig Clark", "public_transport": "N/A.", "parking": "N/A.", "public_transport_last": "N/A."}, "times": {"sunday": {"close": "06:00 PM", "open": "07:00 AM"}, "friday": {"close": "02:00 AM", "open": "05:00 PM"}, "saturday": {"close": "02:00 AM", "open": "07:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackTas"}, "location": {"lat": -42.8819, "lon": 147.3238}, "eventbrite": "http://tasgovhack2016compete.eventbrite.com.au/", "type": "Official Event", "id": "hobart", "is_capital_city": true, "display_rank": 25}, {"name": "Launceston", "dataportals": ["launceston"], "url": "http://portal.govhack.org/locations/tas/launceston.html", "jurisdiction": "tas", "venue": {"capacity": 35, "name": "The Battery Shed", "address": "Queen Victoria Museum, 2 Invermay Road, Invermay, TAS, 7248", "accessibility": "This venue is not easily accessible for wheelchairs. There is a single step at each door external door. If you would like to double check accessibility prior to the event, please contact the local event organisers.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Joe Robinson", "public_transport": "There is a free \"Tiger Bus\" that runs from the Launceston CBD to the Inveresk precinct. There's also a bus stop on Invermay Road that is on a route from the northern suburbs (Invermay, Mowbray, UTAS, etc.).", "parking": "There is a large council carpark near the Queen Victoria Museum (less than 100m from the venue) which has inexpensive all day parking. We advise participants to move their cars into the Museum staff carpark next to the venue at night, but this carpark is not accessible to us during the Museum's opening hours.", "public_transport_last": "N/A."}, "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:30 PM"}, "saturday": {"close": "11:59 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "govhacktas"}, "location": {"lat": -41.427606, "lon": 147.142444}, "eventbrite": "http://tasgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/IMG_20140716_140804.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/IMG_20140709_095153.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/2015_Jan_13_by+Bappy+Golder+-+www.Bups.co_untitled+shoot-19.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_05_burger+junkie.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_03_michael+ferguson.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_01_41st+degree.jpg"], "type": "Official Event", "id": "launceston", "is_capital_city": false, "display_rank": 40}, {"display_weight": 30, "name": "Ballarat", "dataportals": ["ballarat"], "url": "http://portal.govhack.org/locations/vic/ballarat.html", "jurisdiction": "vic", "venue": {"capacity": 50, "name": "Ballarat Technology Park Central", "address": "106\u2013110 Lydiard St S Ballarat Central", "accessibility": "The building is a 2 storey building . Lift access is available.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "George Fong", "public_transport": "Walking distance to the train station.", "parking": "Street parking avialable.", "public_transport_last": "Information on trains to and from Ballarat [can be found here](https://www.vline.com.au/getattachment/1fefdccd-25e5-48f8-a58d-b5c042baf67d/Ballarat-Timetable)"}, "catering": "Full catering will be provided for: 29th July Evening / 30th July - Breakfast, Lunch, Supper / 31st July - Breakfast, Lunch, Supper / Coffee, soft drinks and snacks will be available in between. \n", "prefix": "GovHack", "contact": {"phone": "0438 887 488", "twitter": "govhackballarat", "facebook": "govhackballarat", "email": "ballarat@govhack.org"}, "location": {"lat": -37.565453, "lon": 143.856837}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "07:00 AM"}, "friday": {"close": "11:59 PM", "open": "06:00 PM"}, "saturday": {"close": "11:59 PM", "open": "07:00 AM"}}, "type": "Official Event", "id": "ballarat", "is_capital_city": false}, {"display_weight": 30, "name": "Geelong", "dataportals": ["geelong"], "url": "http://portal.govhack.org/locations/vic/geelong.html", "jurisdiction": "vic", "venue": {"capacity": 120, "name": "Deakin University Geelong Waterfront Campus, Room D3.211, Building D Hay Building, Level 3, Room 211", "address": "1 Gheringhap Street", "accessibility": "Mobility accessibility has been confirmed via by [walking the route to the room without using stairs](http://www.deakin.edu.au/life-at-deakin/health-wellbeing-safety/disability-support/access). From the Gheringhap Street entrance, wheel straight ahead to security. At the elevators to the right of security, go to Level 3 (ground level is level 2). Exit the elevator, and go right. Enter the door to the right of the vending maching. Take the first right to the end of the passageway and you are at room D3.211.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Kathy Reid", "childcare": "Childcare is not provided at GovHack Geelong this year.", "public_transport": "+ **Train** Deakin University is a 10 minute walk from Geelong central station, [Geelong's main](https://www.vline.com.au/getattachment/892e2d02-e62c-463f-834f-b3bae129b47c/Geelong-Melbourne-%282%29) [train station](https://ptv.vic.gov.au/route/view/1745)\n+ **Bus** Buses run on Saturdays and Sunday from [most Geelong suburbs](https://ptv.vic.gov.au/getting-around/local-areas/view/19).\n", "parking": "[Parking at Deakin](http://www.deakin.edu.au/life-at-deakin/get-to-deakin/parking), or [nearby parking in Geelong](http://au.parkopedia.com/parking/carpark/western_beach/3220/geelong/)\n", "public_transport_last": "+ **Train** The last train back from Geelong to Melbourne on Saturdays is 2250hrs from Geelong Station. The last train back on Sundays is the 2250hrs from Geelong Station. The last train back on Fridays is the 2253hrs from Geelong Station. \n+ **Bus** The last buses are generally much earlier (8pm or arounds). Please check your individual bus timetable.\n"}, "catering": "Catering TBA closer to the event. Some light meals will be provided, but participants may need to bring some of their own snacks.", "prefix": "GovHack", "contact": {"twitter": "GovHackGeelong", "facebook": "govhackgeelong", "email": "geelong@govhack.org"}, "location": {"lat": -38.143822, "lon": 144.360392}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19210582349_5022205f2d_o-portrait.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19210582349_5022205f2d_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19241402710_e065960b04_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19428966485_ded39f30eb_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19429045765_69b9fa8dfd_o-reduced.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/nathan-beattie-oculus-rift.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "8:30 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "type": "Official Event", "id": "geelong", "is_capital_city": false}, {"display_weight": 50, "name": "Melbourne MapSpace", "dataportals": ["melbourne"], "url": "http://portal.govhack.org/locations/vic/melbourne-mapspace.html", "jurisdiction": "vic", "venue": {"capacity": 100, "name": "Telstra Gurrowa Innovation Lab", "address": "242-284 Exhibition St, Melbourne VIC 3000", "accessibility": "This site is wheelchair accessible.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "catering": "TBA closer to the event date.", "host": "Alena Moison", "public_transport": "See [www.ptv.vic.gov.au](http://www.ptv.vic.gov.au) for details of public transport available.", "parking": "Paid parking is available throughout the Melbourne CBD.", "public_transport_last": "Throughout 2016, the Victorian Government is undertaking a trial of all-night public transport on weekends. \nMetro trains: Trains will depart hourly from Flinders Street Station on all lines (except Stony Point and Flemington Racecourse). Many stations will benefit from multiple trains each hour, where they are serviced by two or more train lines. \nTrams: Trams will operate every 30 minutes on routes 19, 67, 75, 86, 96 and 109. This will provide wide coverage across Melbourne as well as servicing key night-time precincts and the major streets in the CBD grid. \nNight bus network: Night buses will provide a revamped and improved bus service with around 20 overnight routes. The night bus network will have a mix of routes operating from the city, and others providing suburban connections from train stations and suburban night-time hubs. \nV/Line: V/Line coaches will depart from Southern Cross Station around 2am, bound for Bendigo, Ballarat, Traralgon and Geelong.\n"}, "theme": "Spatial Data", "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "06:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"website_url": "https://data.melbourne.vic.gov.au/"}, "location": {"lat": -37.8095156, "lon": 144.9695373}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "type": "Theme Node", "id": "melbourne-open-raster", "is_capital_city": true}, {"display_weight": 20, "name": "Melbourne Official", "dataportals": ["melbourne"], "url": "http://portal.govhack.org/locations/vic/melbourne.html", "jurisdiction": "vic", "venue": {"capacity": 150, "name": "ThoughtWorks Melbourne", "address": "Level 23, 303 Collins Street, Melbourne", "accessibility": "This venue has lift access and is wheelchair accessible. The door to the street requires a key card for entry, but we'll have somebody downstairs to let people in during peak times, and a phone number you can call outside of that.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Matthew Cengia", "childcare": "Child care will be available from 9am-4pm on Saturday and 9am-3pm on Sunday (possibly finishing closer to 5pm, depending on what we can manage). We will not be offering childcare for children 0-2 years old. Children 3-5/6 years old will have their own space in venue with room for 3-6 children \u2013 two carers. Children 6/7-12 years old will have their own space in venue with room for 5-10 children \u2013 two carers. We will be providing suitable entertainment as recommended by our childcare providers. We would also ask for your understanding that when all places are taken, we will not ask our childcare workers to stretch themselves. Depending on levels of demand, first in best dressed is probably how we will run it. Parents are expected to stay on site while their child is in childcare \u2013 this is not a drop zone for your shopping expedition.", "public_transport": null, "parking": "There are various parking spots in the Melbourne CBD, mostly requiring a ticket.", "public_transport_last": "We are in the Melbourne CBD, one block from Flinders Street, so please check the PTV website or Google for the latest public transport departure for your train/tram/bus line."}, "catering": "Catering TBA closer to the event. Some light meals will be provided, but participants may need to bring some of their own snacks.", "prefix": "GovHack", "contact": {"twitter": "mattcen", "email": "melbourne@govhack.org"}, "location": {"lat": -37.81669, "lon": 144.963966}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "melbourne", "is_capital_city": true}, {"display_weight": 30, "name": "Hack for Wyndham", "dataportals": ["wyndham"], "url": "http://portal.govhack.org/locations/vic/wyndham.html", "jurisdiction": "vic", "venue": {"capacity": 20, "name": "Werribee Learning Centre", "address": "9 Bridge Street, Werribee", "accessibility": "Street parking available.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Vijai Mani", "public_transport": "[bit.ly/28Kxtx5](http://bit.ly/28Kxtx5)\n", "parking": "TBC.", "public_transport_last": "12.22AM"}, "theme": "Transport", "catering": "TBC", "phone": "0402 524 182", "prefix": "GovHack", "contact": null, "location": {"lat": -37.9029207, "lon": 144.6580415}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "09:30 AM"}, "friday": {"close": "09:00 PM", "open": "06:30 PM"}, "saturday": {"close": "05:00 AM", "open": "09:30 AM"}}, "type": "Theme Node", "id": "wyndham", "is_capital_city": false}, {"display_weight": 40, "name": "Geraldton", "url": "http://portal.govhack.org/locations/wa/geraldton.html", "jurisdiction": "wa", "venue": {"capacity": 20, "name": "Pollinators", "address": "184 Marine Terrace, Geraldton, 6531", "accessibility": "Pollinators is located on the ground floor of CityHive, easily wheelchair accessible.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Emma Jackson", "childcare": "We're still growing - check in next year!", "public_transport": "Public transport is limited (read non-existent) on a weekend. Sorry!", "parking": "We're located in the heart of Geraldton. Park on down by the water and have a nice stroll.", "public_transport_last": "Public transport is limited (read non-existent) on a weekend. Sorry!"}, "catering": "There are a number of awesome little cafes a short walk away.", "prefix": "GovHack", "contact": {"twitter": "GovHackWA", "email": "community@pollinators.org.au", "website_url": "http://wa.govhack.org/"}, "location": {"lat": -28.7732, "lon": 114.6096}, "eventbrite": "https://wagovhack2016competitor.eventbrite.com.au/", "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "05:00 PM", "open": "10:00 AM"}}, "type": "Official Event", "id": "geraldton", "is_capital_city": false}, {"display_weight": 20, "name": "Perth", "url": "http://portal.govhack.org/locations/wa/perth.html", "jurisdiction": "wa", "venue": {"capacity": 150, "name": "FLUX", "address": "191 St Georges Terrace, Perth, 6000", "accessibility": "We're on the ground floor of a three story co-working space complete with elevators. Come along!", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Leslie Delaforce", "childcare": "If you have child care requests please get in touch with our organising Committee. It's a serious investment to make so we're looking to see whether we will have enough interest.", "public_transport": "We're in the CBD so public transport is really good. Closest train station is Elizabeth Quay - FLUX is about a 10 minute walk up St George's Terrace.", "parking": "We're in the CBD so parking can be pricey. Public transport might be a better option.", "public_transport_last": "The trains go until 2AM on Friday and Saturday (Though you may be joined by some revelers from the City). Sunday, trains are a bit more unreliable."}, "catering": "GovHack Perth will be fully catered. Previous participants will remember how delectable Peta Hayward's catering is for breakfasts and lunch. We'll also have the team from Epic Delivery hovering around the space ready to feed you on demand - Epic's also helping us cater on Saturday night.", "prefix": "GovHack", "contact": {"facebook": "govhackperth", "instagram": "govhackperth", "twitter": "GovHackPerth", "youtube": "GovHackPerth", "email": "perth@govhack.org", "website_url": "http://perth.govhack.org"}, "location": {"lat": -31.953921, "lon": 115.853156}, "eventbrite": "https://wagovhack2016competitor.eventbrite.com.au/", "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:30 PM"}, "saturday": {"close": "11:59 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "perth", "is_capital_city": true}] \ No newline at end of file diff --git a/feed/locations/auckland.json b/feed/locations/auckland.json new file mode 100644 index 0000000..2ec4e76 --- /dev/null +++ b/feed/locations/auckland.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Auckland", "url": "http://portal.govhack.org/locations/nz/auckland.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -36.856497, "lon": 174.760324}, "type": "Official Event", "id": "auckland", "website_url": "http://govhack.org.nz/2016-events-and-info/auckland/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/ballarat.json b/feed/locations/ballarat.json new file mode 100644 index 0000000..4919050 --- /dev/null +++ b/feed/locations/ballarat.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Ballarat", "dataportals": ["ballarat"], "url": "http://portal.govhack.org/locations/vic/ballarat.html", "jurisdiction": "vic", "venue": {"capacity": 50, "name": "Ballarat Technology Park Central", "address": "106\u2013110 Lydiard St S Ballarat Central", "accessibility": "The building is a 2 storey building . Lift access is available.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "George Fong", "public_transport": "Walking distance to the train station.", "parking": "Street parking avialable.", "public_transport_last": "Information on trains to and from Ballarat [can be found here](https://www.vline.com.au/getattachment/1fefdccd-25e5-48f8-a58d-b5c042baf67d/Ballarat-Timetable)"}, "catering": "Full catering will be provided for: 29th July Evening / 30th July - Breakfast, Lunch, Supper / 31st July - Breakfast, Lunch, Supper / Coffee, soft drinks and snacks will be available in between. \n", "prefix": "GovHack", "contact": {"phone": "0438 887 488", "twitter": "govhackballarat", "facebook": "govhackballarat", "email": "ballarat@govhack.org"}, "location": {"lat": -37.565453, "lon": 143.856837}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "07:00 AM"}, "friday": {"close": "11:59 PM", "open": "06:00 PM"}, "saturday": {"close": "11:59 PM", "open": "07:00 AM"}}, "type": "Official Event", "id": "ballarat", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/brisbane-maker.json b/feed/locations/brisbane-maker.json new file mode 100644 index 0000000..4f3159f --- /dev/null +++ b/feed/locations/brisbane-maker.json @@ -0,0 +1 @@ +{"display_weight": 40, "name": "Brisbane GovHack Maker Node", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane-maker.html", "jurisdiction": "qld", "venue": {"capacity": 40, "name": "HSBNE", "address": "217 MacArthur Ave, Eagle Farm, QLD 400", "accessibility": "The venue is on the ground floor and parking is available close by.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Anna Gerber", "public_transport": "Northshore Hamilton City Cat is right outside the venue. Please see http://hsbne.org/thespace.html for more details on transport \n", "parking": "Free Parking is available on site. Please see http://hsbne.org/thespace.html for more details on transport \n", "public_transport_last": "The last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "06:00 PM"}, "saturday": {"close": "09:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.443391, "lon": 153.079033}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ We will join the main GovHack Brisbane node on the Friday evening for the launch and dinner.\n+ Basic lunch will be provided each day \n", "type": "Maker Node", "id": "brisbane-maker", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/brisbane-youth.json b/feed/locations/brisbane-youth.json new file mode 100644 index 0000000..7c96250 --- /dev/null +++ b/feed/locations/brisbane-youth.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Brisbane Youth Node", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane-youth.html", "jurisdiction": "qld", "venue": {"capacity": 50, "name": "Advanced Engineering Building, The University of Queensland, St Lucia", "team": "Marie Boden, Edge Pereira, Siddeswara Guru, Nicolette Venn", "accessibility": "The venue has lifts between levels and ramps at each entrance.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events", "host": "Jason Weigel @jnweigel", "public_transport": "The University of Queensland, St Lucia can be reached by Bus and CityCat. There are two stops which can be used UQ Chancellor\u2019s Place and UQ Lakes for buses and for the CityCat the stop is UQ St Lucia ferry terminal. The UQ Lakes and UQ St Lucia ferry terminal have easier access to the event venue.\nDetails on times and routes can be found at [the Translink website](http://translink.com.au/).\n", "address": "Building 49, The University of Queensland, Staff House Road, St Lucia QLD 4072", "parking": "Paid parking is available on Friday evening before 9pm at the Conifer Knoll carpark (98D) or on Sir William Macgregor Drive. Parking is $5 per day.\nAfter 9pm on Friday and for the remainder of the event parking is free. [Map of Conifer Knoll Carpark](https://www.google.com.au/maps/place/98D,+St+Lucia+QLD+4067/@-27.4993894,153.0159301,17z/data=!3m1!4b1!4m5!3m4!1s0x6b915a7924330791:0x8bb5375caf6cd7!8m2!3d-27.4993525!4d153.018182)\n", "public_transport_last": "On Friday the last bus leaving UQ Lakes is between 9pm and 9.30pm. On the weekend the last bus leaving UQ Lakes is between 5.30pm and 6pm.\nOn Friday the last bus leaving UQ Chancellor\u2019s Place is between 10pm and midnight depending on destination. On the weekend the last bus leaving UQ Chancellor\u2019s Place is between 8pm and midnight depending on destination.\nThe last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "05:30 PM"}, "saturday": {"close": "06:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.495792, "lon": 153.012395}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ Dinner will be provided following the Opening on Friday evening.\n+ Lunch will be provided on Saturday and Sunday.\n\nAccess to a kitchen stocked with coffee/tea/juices/softdrink and snacks will be available outside standard meals.\n", "type": "Youth Node", "id": "brisbane-youth", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/brisbane.json b/feed/locations/brisbane.json new file mode 100644 index 0000000..e6ba1e5 --- /dev/null +++ b/feed/locations/brisbane.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Brisbane Official", "dataportals": ["brisbane", "logan"], "url": "http://portal.govhack.org/locations/qld/brisbane.html", "jurisdiction": "qld", "venue": {"capacity": 200, "name": "Advanced Engineering Building, The University of Queensland, St Lucia", "team": "Marie Boden, Edge Pereira, Siddeswara Guru, Nicolette Venn", "accessibility": "The venue has lifts between levels and ramps at each entrance.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Jason Weigel", "public_transport": "The University of Queensland, St Lucia can be reached by Bus and CityCat. There are two stops which can be used UQ Chancellor\u2019s Place and UQ Lakes for buses and for the CityCat the stop is UQ St Lucia ferry terminal. The UQ Lakes and UQ St Lucia ferry terminal have easier access to the event venue.\nDetails on times and routes can be found at [the Translink website](http://translink.com.au/).\n", "address": "Building 49, The University of Queensland, Staff House Road, St Lucia QLD 4072", "parking": "Paid parking is available on Friday evening before 9pm at the Conifer Knoll carpark (98D) or on Sir William Macgregor Drive. Parking is $5 per day.\nAfter 9pm on Friday and for the remainder of the event parking is free. [Map of Conifer Knoll Carpark](https://www.google.com.au/maps/place/98D,+St+Lucia+QLD+4067/@-27.4993894,153.0159301,17z/data=!3m1!4b1!4m5!3m4!1s0x6b915a7924330791:0x8bb5375caf6cd7!8m2!3d-27.4993525!4d153.018182)\n", "public_transport_last": "On Friday the last bus leaving UQ Lakes is between 9pm and 9.30pm. On the weekend the last bus leaving UQ Lakes is between 5.30pm and 6pm.\nOn Friday the last bus leaving UQ Chancellor\u2019s Place is between 10pm and midnight depending on destination. On the weekend the last bus leaving UQ Chancellor\u2019s Place is between 8pm and midnight depending on destination.\nThe last ferry leaves at 11.24pm towards North Quay.\nFor all public transport please check [the Translink website](http://translink.com.au) for your particular service and what time the last call is.\n"}, "times": {"sunday": {"close": "06:00 PM", "open": "12:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:00 PM"}, "saturday": {"close": "11:59 PM", "open": "12:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackBne", "email": "brisbane@govhack.org"}, "location": {"lat": -27.495792, "lon": 153.012395}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "+ Dinner will be provided following the Opening on Friday evening.\n+ Breakfast, Lunch and Dinner will be provided on Saturday.\n+ Breakfast and Lunch will be provided on Sunday.\n\nAccess to a kitchen stocked with coffee/tea/juices/softdrink and snacks will be available outside standard meals. Alternatively food retailers can be found around the university campus and slightly off-campus in Hawken Village.\n", "type": "Official Event", "id": "brisbane", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/camperdown-games.json b/feed/locations/camperdown-games.json new file mode 100644 index 0000000..faa974f --- /dev/null +++ b/feed/locations/camperdown-games.json @@ -0,0 +1 @@ +{"website": {"url": "https://govhack-camperdown.boomworks.com.au", "name": "Visit GovHack Camperdown Site"}, "display_weight": 50, "name": "Camperdown Games for Learning", "url": "http://portal.govhack.org/locations/nsw/camperdown-games.html", "jurisdiction": "nsw", "venue": {"capacity": 40, "name": "Boomworks Studios", "address": "34 Denison St, Camperdown", "accessibility": "All facilities are accessible for wheelchairs via our garage. We have a disabled toilet and all other amenities, and some work spaces are located on the ground level.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Vivid Savitri", "public_transport": "Buses are available on Parramatta Rd, and the nearest train station is Newtown Station.", "parking": "All day parking is available on the Boomworks side of Denison St.", "public_transport_last": "Please use TripView to access all relevant public transport options closer to the date."}, "times": {"sunday": {"close": "06:30 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "07:00 PM"}, "saturday": {"close": "07:00 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackCamper", "flickr": "https://www.flickr.com/photos/120617262@N04/", "email": "camperdown@govhack.org"}, "location": {"lat": -33.889348, "lon": 151.1746}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Boomworks_Govhack_2016.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/CamperdownOffice+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(4).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Camperdown-nsw/Camperdown+(5).jpg"], "catering": "Food will be available over the 3 days. Dinner will be provided on Friday night and a light breakfast and lunch will be provided on Saturday and Sunday. Vegetarian options will be available as well. Gluten intolerant attendees may need to provide their own meals and snacks.\n", "type": "Theme Node", "id": "camperdown-games", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/canberra-heritage-hack.json b/feed/locations/canberra-heritage-hack.json new file mode 100644 index 0000000..fdfd9cb --- /dev/null +++ b/feed/locations/canberra-heritage-hack.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Heritage Hack", "dataportals": ["trove"], "url": "http://portal.govhack.org/locations/act/canberra-heritage-hack.html", "jurisdiction": "act", "venue": {"capacity": 40, "name": "Teaching Commons University of Canberra", "address": "Building 1, Level C (above the refectory), University of Canberra, Bruce, ACT", "accessibility": "See the [campus map for disablity access](http://www.canberra.edu.au/maps/campus-map-for-people-with-disabilities)\n", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Tim Sherratt", "public_transport": "[Public transport](Public transport is available) is available. [Eight different bus routes](http://www.canberra.edu.au/on-campus/parking/bus-bike-and-fleet-vehicles) service the university on weekends.\n", "parking": "Plenty of [parking is available](http://www.canberra.edu.au/maps/parking). It's free after 6.00pm and on weekends. \n"}, "theme": "Heritage data", "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "09:00 PM", "open": "05:00 PM"}, "saturday": {"close": "05:00 PM", "open": "09:00 AM"}}, "prefix": "Canberra", "contact": {"twitter": "UCHeritageHack", "email": "canberra-theme@govhack.org"}, "location": {"lat": -35.238244, "lon": 149.08448}, "eventbrite": "https://actgovhack2016competitor.eventbrite.com.au/", "type": "Theme Node", "id": "canberra-heritage-hack", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/canberra.json b/feed/locations/canberra.json new file mode 100644 index 0000000..49308f8 --- /dev/null +++ b/feed/locations/canberra.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Canberra", "url": "http://portal.govhack.org/locations/act/canberra.html", "jurisdiction": "act", "venue": {"name": "Canberra Grammar School - The Snow Centre", "address": "40 Monaro Crescent, Red Hill, ACT, 2603", "accessibility": "Venue is accessible from the main school carpark via footpaths. The Snow Centre has a lift which provides access to all levels of the building.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Matthew Purcell", "childcare": "There will be no childcare arrangements at this event.", "public_transport": "ACTION buses depart from the bus stop on Golden Grove, next to the Snow Centre.", "parking": "Parking is available in the main school carparks off Monaro Crescent. Note, there will be a large number of sporting matches taking place on the school ovals on Saturday morning so it is advisable to arrive early to GovHack otherwise parking could be difficult.", "public_transport_last": "Check the ACTION website for details."}, "times": {"sunday": {"close": "07:00 PM", "open": "08:00 AM"}, "friday": {"close": "011:00 PM", "open": "06:00 PM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"email": "canberra@govhack.org"}, "location": {"lat": -35.330529, "lon": 149.125984}, "eventbrite": "https://actgovhack2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1155.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1222.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/CanberraOfficial-act/20150206_DX_1636.jpg"], "catering": "Friday 29 July 2016: Dinner, Snacks\nSaturday 30 July 2016: Lunch, Dinner, Snacks\nSunday 31 July 2016: Lunch, Snacks\n", "type": "Official Event", "id": "canberra", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/christchurch.json b/feed/locations/christchurch.json new file mode 100644 index 0000000..f14d2b0 --- /dev/null +++ b/feed/locations/christchurch.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Christchurch", "url": "http://portal.govhack.org/locations/nz/christchurch.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -43.535557, "lon": 172.635696}, "type": "Official Event", "id": "christchurch", "website_url": "http://govhack.org.nz/2016-events-and-info/christchurch/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/dunedin.json b/feed/locations/dunedin.json new file mode 100644 index 0000000..91fa9eb --- /dev/null +++ b/feed/locations/dunedin.json @@ -0,0 +1 @@ +{"display_weight": 70, "name": "Dunedin", "url": "http://portal.govhack.org/locations/nz/dunedin.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -45.878693, "lon": 170.50258}, "type": "Official Event", "id": "dunedin", "website_url": "http://govhack.org.nz/2016-events-and-info/dunedin/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/fnq.json b/feed/locations/fnq.json new file mode 100644 index 0000000..44ef12c --- /dev/null +++ b/feed/locations/fnq.json @@ -0,0 +1 @@ +{"website": {"url": "http://govhackfnq.org", "name": "GovHack FNQ"}, "display_weight": 40, "name": "Far North Queensland", "url": "http://portal.govhack.org/locations/qld/fnq.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "The Space", "team": "Robin Macpherson, Kurt Schoenhoff, Naomi Coleman, Damian Zammit", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Robin Macpherson", "public_transport": "Buses go past the Tafe college", "address": "TAFE U-block Eureka Street, Manunda QLD, 4870", "parking": "Ample parking", "public_transport_last": "10PM"}, "theme": "Tourism", "times": {"sunday": {"close": "10:03 PM", "open": "08:03 AM"}, "friday": {"close": "11:03 PM", "open": "05:03 PM"}, "saturday": {"close": "11:03 PM", "open": "08:03 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackFNQ", "email": "team@govhackfnq.org"}, "location": {"lat": -16.921354, "lon": 145.753961}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "Self catering; more details to come", "type": "Theme Node", "id": "fnq", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/geelong.json b/feed/locations/geelong.json new file mode 100644 index 0000000..880588f --- /dev/null +++ b/feed/locations/geelong.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Geelong", "dataportals": ["geelong"], "url": "http://portal.govhack.org/locations/vic/geelong.html", "jurisdiction": "vic", "venue": {"capacity": 120, "name": "Deakin University Geelong Waterfront Campus, Room D3.211, Building D Hay Building, Level 3, Room 211", "address": "1 Gheringhap Street", "accessibility": "Mobility accessibility has been confirmed via by [walking the route to the room without using stairs](http://www.deakin.edu.au/life-at-deakin/health-wellbeing-safety/disability-support/access). From the Gheringhap Street entrance, wheel straight ahead to security. At the elevators to the right of security, go to Level 3 (ground level is level 2). Exit the elevator, and go right. Enter the door to the right of the vending maching. Take the first right to the end of the passageway and you are at room D3.211.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Kathy Reid", "childcare": "Childcare is not provided at GovHack Geelong this year.", "public_transport": "+ **Train** Deakin University is a 10 minute walk from Geelong central station, [Geelong's main](https://www.vline.com.au/getattachment/892e2d02-e62c-463f-834f-b3bae129b47c/Geelong-Melbourne-%282%29) [train station](https://ptv.vic.gov.au/route/view/1745)\n+ **Bus** Buses run on Saturdays and Sunday from [most Geelong suburbs](https://ptv.vic.gov.au/getting-around/local-areas/view/19).\n", "parking": "[Parking at Deakin](http://www.deakin.edu.au/life-at-deakin/get-to-deakin/parking), or [nearby parking in Geelong](http://au.parkopedia.com/parking/carpark/western_beach/3220/geelong/)\n", "public_transport_last": "+ **Train** The last train back from Geelong to Melbourne on Saturdays is 2250hrs from Geelong Station. The last train back on Sundays is the 2250hrs from Geelong Station. The last train back on Fridays is the 2253hrs from Geelong Station. \n+ **Bus** The last buses are generally much earlier (8pm or arounds). Please check your individual bus timetable.\n"}, "catering": "Catering TBA closer to the event. Some light meals will be provided, but participants may need to bring some of their own snacks.", "prefix": "GovHack", "contact": {"twitter": "GovHackGeelong", "facebook": "govhackgeelong", "email": "geelong@govhack.org"}, "location": {"lat": -38.143822, "lon": 144.360392}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19210582349_5022205f2d_o-portrait.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19210582349_5022205f2d_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19241402710_e065960b04_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19428966485_ded39f30eb_o.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/19429045765_69b9fa8dfd_o-reduced.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Geelong/nathan-beattie-oculus-rift.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "8:30 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "type": "Official Event", "id": "geelong", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/geraldton.json b/feed/locations/geraldton.json new file mode 100644 index 0000000..1294a93 --- /dev/null +++ b/feed/locations/geraldton.json @@ -0,0 +1 @@ +{"display_weight": 40, "name": "Geraldton", "url": "http://portal.govhack.org/locations/wa/geraldton.html", "jurisdiction": "wa", "venue": {"capacity": 20, "name": "Pollinators", "address": "184 Marine Terrace, Geraldton, 6531", "accessibility": "Pollinators is located on the ground floor of CityHive, easily wheelchair accessible.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Emma Jackson", "childcare": "We're still growing - check in next year!", "public_transport": "Public transport is limited (read non-existent) on a weekend. Sorry!", "parking": "We're located in the heart of Geraldton. Park on down by the water and have a nice stroll.", "public_transport_last": "Public transport is limited (read non-existent) on a weekend. Sorry!"}, "catering": "There are a number of awesome little cafes a short walk away.", "prefix": "GovHack", "contact": {"twitter": "GovHackWA", "email": "community@pollinators.org.au", "website_url": "http://wa.govhack.org/"}, "location": {"lat": -28.7732, "lon": 114.6096}, "eventbrite": "https://wagovhack2016competitor.eventbrite.com.au/", "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "05:00 PM", "open": "10:00 AM"}}, "type": "Official Event", "id": "geraldton", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/gold-coast.json b/feed/locations/gold-coast.json new file mode 100644 index 0000000..9a038fa --- /dev/null +++ b/feed/locations/gold-coast.json @@ -0,0 +1 @@ +{"website": {"url": "http://govhackgc.co", "name": "GovHack GC"}, "display_weight": 50, "name": "Gold Coast", "dataportals": ["gold-coast"], "url": "http://portal.govhack.org/locations/qld/gold-coast.html", "jurisdiction": "qld", "venue": {"capacity": 150, "name": "Red Zone, Griffith University Gold Coast Campus", "team": "Tanya Lipus, Jolon Faichney", "accessibility": "Lifts available for access to upper levels of G40", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Joshua Holmes", "public_transport": "The best way of getting to and from GovHack Gold Coast from the southern Gold Coast is riding the G in conjunction with a regular bus service. \n\n+ Uber is available on the Gold Coast and they have provided new users with $20 credit by entering the code `GOVHACK16`. [Estimate the costs here](https://www.uber.com/fare-estimate/). \n+ The Gold Coast University Hospital Station is closest and runs 24 hours between Friday and Sunday night. The G: departs every 10 to 30 minutes towards Broadbeach South. \n+ From Broadbeach South, bus route 700 will take you all the way to the Tweed 24 hours, every 7 to 15 minutes. \n+ From the northern Gold Coast, buses are available along various routes, including 709 towards Helensvale where you can transfer to the train. \n+ Western Gold Coast regions can be accessed via the G and bus routes 740 and 750 towards Nerang and Robina respectively.\n+ Plan your journey at the [Translink website](http://jp.translink.com.au/).\n", "address": "G40, Griffith University Gold Coast Campus, Parklands Drive, Southport 4215", "parking": "Limited free parking will be available to participants in the general parking zones of Griffith University using the supplied parking permit.", "public_transport_last": "+ The G and bus route 700 runs 24 hours on weekends.\n+ Bus route 709 finishes at 11.14pm, route 750 finishes at 12.27am from Broadbeach South and route 740 finishes at 11.16pm from Surfers Paradise.\n"}, "catering": "+ Friday - Supper\n+ Saturday - Breakfast Lunch and Dinner\n+ Sunday - Breakfast lunch and dinner\n", "prefix": "GovHack", "contact": {"twitter": "GovHackGC", "facebook": "GovHackGC", "email": "gc@govhack.org"}, "location": {"lat": -27.960257, "lon": 153.379248}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(1).png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoastLocation+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/GC-qld/GoldCoast+(3).jpg"], "times": {"sunday": {"close": "06:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "gold-coast", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/hamilton.json b/feed/locations/hamilton.json new file mode 100644 index 0000000..b7f411f --- /dev/null +++ b/feed/locations/hamilton.json @@ -0,0 +1 @@ +{"display_weight": 70, "name": "Hamilton", "url": "http://portal.govhack.org/locations/nz/hamilton.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -37.788653, "lon": 175.280201}, "type": "Official Event", "id": "hamilton", "website_url": "http://govhack.org.nz/2016-events-and-info/hamilton/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/hobart.json b/feed/locations/hobart.json new file mode 100644 index 0000000..c5a14e9 --- /dev/null +++ b/feed/locations/hobart.json @@ -0,0 +1 @@ +{"name": "Hobart", "dataportals": ["hobart", "glenorchy"], "url": "http://portal.govhack.org/locations/tas/hobart.html", "jurisdiction": "tas", "venue": {"capacity": 60, "name": "Factoryfloor, Old Mercury Building", "address": "91-93 Macquarie Street, Hobart", "accessibility": "There are stairs on the main entrance, so this building is not really suitable for wheelchair access. However, if you'd like to discuss accessibility further and look at the venue ahead of the event, please contact the local event organisers.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Craig Clark", "public_transport": "N/A.", "parking": "N/A.", "public_transport_last": "N/A."}, "times": {"sunday": {"close": "06:00 PM", "open": "07:00 AM"}, "friday": {"close": "02:00 AM", "open": "05:00 PM"}, "saturday": {"close": "02:00 AM", "open": "07:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackTas"}, "location": {"lat": -42.8819, "lon": 147.3238}, "eventbrite": "http://tasgovhack2016compete.eventbrite.com.au/", "type": "Official Event", "id": "hobart", "is_capital_city": true, "display_rank": 25} \ No newline at end of file diff --git a/feed/locations/ipswich-digital-city.json b/feed/locations/ipswich-digital-city.json new file mode 100644 index 0000000..d9689bf --- /dev/null +++ b/feed/locations/ipswich-digital-city.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Ipswich", "url": "http://portal.govhack.org/locations/qld/ipswich-digital-city.html", "jurisdiction": "qld", "venue": {"capacity": 160, "name": "Fire Station 101", "address": "101 Limestone Street", "accessibility": "Wheelchair access through the front of the building", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Chad Renando", "public_transport": "Ipswich Train Station is a 5 minute walk from Fire Station 101", "parking": "Street parking is available.", "public_transport_last": "Last train leaves Ipswich at 12:30am"}, "prefix": "GovHack", "times": {"sunday": {"close": "11:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:00 PM", "open": "08:00 PM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "theme": "Digital City", "location": {"lat": -27.615344, "lon": 152.754495}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/FS101+workspace+with+members.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/IMG_7993-1024x768.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Ipswich-qld/IMG_8018-1024x768.jpg"], "catering": "Lunch will be provided for Saturday and Sunday. Coffee available on-site.", "type": "Theme Node", "id": "ipswich-digital-city", "is_capital_city": false, "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/launceston.json b/feed/locations/launceston.json new file mode 100644 index 0000000..e590657 --- /dev/null +++ b/feed/locations/launceston.json @@ -0,0 +1 @@ +{"name": "Launceston", "dataportals": ["launceston"], "url": "http://portal.govhack.org/locations/tas/launceston.html", "jurisdiction": "tas", "venue": {"capacity": 35, "name": "The Battery Shed", "address": "Queen Victoria Museum, 2 Invermay Road, Invermay, TAS, 7248", "accessibility": "This venue is not easily accessible for wheelchairs. There is a single step at each door external door. If you would like to double check accessibility prior to the event, please contact the local event organisers.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Joe Robinson", "public_transport": "There is a free \"Tiger Bus\" that runs from the Launceston CBD to the Inveresk precinct. There's also a bus stop on Invermay Road that is on a route from the northern suburbs (Invermay, Mowbray, UTAS, etc.).", "parking": "There is a large council carpark near the Queen Victoria Museum (less than 100m from the venue) which has inexpensive all day parking. We advise participants to move their cars into the Museum staff carpark next to the venue at night, but this carpark is not accessible to us during the Museum's opening hours.", "public_transport_last": "N/A."}, "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:30 PM"}, "saturday": {"close": "11:59 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "govhacktas"}, "location": {"lat": -41.427606, "lon": 147.142444}, "eventbrite": "http://tasgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/IMG_20140716_140804.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/IMG_20140709_095153.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/2015_Jan_13_by+Bappy+Golder+-+www.Bups.co_untitled+shoot-19.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_05_burger+junkie.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_03_michael+ferguson.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Launceston/02_01_41st+degree.jpg"], "type": "Official Event", "id": "launceston", "is_capital_city": false, "display_rank": 40} \ No newline at end of file diff --git a/feed/locations/logan.json b/feed/locations/logan.json new file mode 100644 index 0000000..962ef3f --- /dev/null +++ b/feed/locations/logan.json @@ -0,0 +1 @@ +{"display_weight": 40, "name": "Logan", "url": "http://portal.govhack.org/locations/qld/logan.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "Griffith University Logan Campus (Meadowbrook Room 4.07)", "team": "Marion Lawie, Joan Culverhouse, Deepak Parmar, Jignesh Trivedi, Raxa Trivedi", "accessibility": "Meadowbrook Room 4.07; [Logan Campus](https://www162.griffith.edu.au/public/campus-maps/building-locations-map-log.pdf) is wheelchair friendly.\n", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Ashish Shah", "public_transport": "**Bus**: You can catch the bus from a variety of locations around the city, including Browns Plains, the Logan Hyperdome, Grand Plaza Shopping Centre and Loganlea train station. \n**Train**: The nearest train station is Loganlea, and a bus runs between the station and our campus every 30 minutes.\n", "address": "University Dr, Meadowbrook QLD 4131", "parking": "[University campus](https://www.griffith.edu.au/about-griffith/campuses-and-facilities/logan/transport-and-parking), plenty available.\n", "public_transport_last": "To be checked on Translink website"}, "theme": "Future Logan in Integrated SEQ", "times": {"sunday": {"close": "07:10 PM", "open": "08:30 AM"}, "friday": {"close": "09:10 PM", "open": "05:30 PM"}, "saturday": {"close": "09:10 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackLogan", "facebook": "GovHackLogan", "email": "logan@govhack.org"}, "location": {"lat": -27.664164, "lon": 153.15172}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "catering": "TBA", "type": "Theme Node", "id": "logan", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/melbourne-mapspace.json b/feed/locations/melbourne-mapspace.json new file mode 100644 index 0000000..003fb34 --- /dev/null +++ b/feed/locations/melbourne-mapspace.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Melbourne MapSpace", "dataportals": ["melbourne"], "url": "http://portal.govhack.org/locations/vic/melbourne-mapspace.html", "jurisdiction": "vic", "venue": {"capacity": 100, "name": "Telstra Gurrowa Innovation Lab", "address": "242-284 Exhibition St, Melbourne VIC 3000", "accessibility": "This site is wheelchair accessible.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "catering": "TBA closer to the event date.", "host": "Alena Moison", "public_transport": "See [www.ptv.vic.gov.au](http://www.ptv.vic.gov.au) for details of public transport available.", "parking": "Paid parking is available throughout the Melbourne CBD.", "public_transport_last": "Throughout 2016, the Victorian Government is undertaking a trial of all-night public transport on weekends. \nMetro trains: Trains will depart hourly from Flinders Street Station on all lines (except Stony Point and Flemington Racecourse). Many stations will benefit from multiple trains each hour, where they are serviced by two or more train lines. \nTrams: Trams will operate every 30 minutes on routes 19, 67, 75, 86, 96 and 109. This will provide wide coverage across Melbourne as well as servicing key night-time precincts and the major streets in the CBD grid. \nNight bus network: Night buses will provide a revamped and improved bus service with around 20 overnight routes. The night bus network will have a mix of routes operating from the city, and others providing suburban connections from train stations and suburban night-time hubs. \nV/Line: V/Line coaches will depart from Southern Cross Station around 2am, bound for Bendigo, Ballarat, Traralgon and Geelong.\n"}, "theme": "Spatial Data", "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "06:00 PM", "open": "09:00 AM"}}, "prefix": "GovHack", "contact": {"website_url": "https://data.melbourne.vic.gov.au/"}, "location": {"lat": -37.8095156, "lon": 144.9695373}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "type": "Theme Node", "id": "melbourne-open-raster", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/melbourne.json b/feed/locations/melbourne.json new file mode 100644 index 0000000..20fac50 --- /dev/null +++ b/feed/locations/melbourne.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Melbourne Official", "dataportals": ["melbourne"], "url": "http://portal.govhack.org/locations/vic/melbourne.html", "jurisdiction": "vic", "venue": {"capacity": 150, "name": "ThoughtWorks Melbourne", "address": "Level 23, 303 Collins Street, Melbourne", "accessibility": "This venue has lift access and is wheelchair accessible. The door to the street requires a key card for entry, but we'll have somebody downstairs to let people in during peak times, and a phone number you can call outside of that.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Matthew Cengia", "childcare": "Child care will be available from 9am-4pm on Saturday and 9am-3pm on Sunday (possibly finishing closer to 5pm, depending on what we can manage). We will not be offering childcare for children 0-2 years old. Children 3-5/6 years old will have their own space in venue with room for 3-6 children \u2013 two carers. Children 6/7-12 years old will have their own space in venue with room for 5-10 children \u2013 two carers. We will be providing suitable entertainment as recommended by our childcare providers. We would also ask for your understanding that when all places are taken, we will not ask our childcare workers to stretch themselves. Depending on levels of demand, first in best dressed is probably how we will run it. Parents are expected to stay on site while their child is in childcare \u2013 this is not a drop zone for your shopping expedition.", "public_transport": null, "parking": "There are various parking spots in the Melbourne CBD, mostly requiring a ticket.", "public_transport_last": "We are in the Melbourne CBD, one block from Flinders Street, so please check the PTV website or Google for the latest public transport departure for your train/tram/bus line."}, "catering": "Catering TBA closer to the event. Some light meals will be provided, but participants may need to bring some of their own snacks.", "prefix": "GovHack", "contact": {"twitter": "mattcen", "email": "melbourne@govhack.org"}, "location": {"lat": -37.81669, "lon": 144.963966}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "melbourne", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/mount-gambier-youth.json b/feed/locations/mount-gambier-youth.json new file mode 100644 index 0000000..d0c72b0 --- /dev/null +++ b/feed/locations/mount-gambier-youth.json @@ -0,0 +1 @@ +{"display_weight": 40, "name": "Mount Gambier", "url": "http://portal.govhack.org/locations/sa/mount-gambier-youth.html", "jurisdiction": "sa", "venue": {"capacity": 80, "name": "Mount Gambier Library", "address": "6 Watson Terrace, Mount Gambier SA 5290", "accessibility": "Detailed information to be provided soon.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Mount Gambier", "childcare": "N/A", "public_transport": "Detailed information to be provided soon.", "parking": "Detailed information to be provided soon.", "public_transport_last": "Detailed information to be provided soon."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "MountGambierLib", "facebook": "TheMountGambierLibrary", "email": "sa@govhack.org"}, "location": {"lat": -37.829274, "lon": 140.7794058}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/CompetitionTime5.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/MGBLibrary2016-39b.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/MountGambierLibraryfront.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/preview-full-AnesuChiodzeofNexusIsBack.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Mount+Gambier/preview-full-CompetitionTime.jpg"], "times": {"sunday": {"close": "06:00 PM", "open": "09:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "10:00 PM", "open": "09:00 AM"}}, "type": "Official Event", "id": "mount-gambier-youth", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/napier-hawkes-bay.json b/feed/locations/napier-hawkes-bay.json new file mode 100644 index 0000000..c9aac99 --- /dev/null +++ b/feed/locations/napier-hawkes-bay.json @@ -0,0 +1 @@ +{"capital_city": false, "display_weight": 80, "name": "Napier, Hawkes Bay", "url": "http://portal.govhack.org/locations/nz/napier-hawkes-bay.html", "jurisdiction": "nz", "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -39.49423, "lon": 176.908529}, "type": "Official Event", "id": "napie-hawkes-bay", "website_url": "http://govhack.org.nz/2016-events-and-info/hawkes-bay/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/northland.json b/feed/locations/northland.json new file mode 100644 index 0000000..f74c438 --- /dev/null +++ b/feed/locations/northland.json @@ -0,0 +1 @@ +{"display_weight": 80, "name": "Northland", "url": "http://portal.govhack.org/locations/nz/northland.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -35.5795, "lon": 173.7624}, "type": "Official Event", "id": "northland", "website_url": "http://govhack.org.nz/2016-events-and-info/whangarei/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/onkaparinga.json b/feed/locations/onkaparinga.json new file mode 100644 index 0000000..e489770 --- /dev/null +++ b/feed/locations/onkaparinga.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Onkaparinga", "dataportals": ["onkaparinga"], "url": "http://portal.govhack.org/locations/sa/onkaparinga.html", "jurisdiction": "sa", "venue": {"capacity": 50, "name": "Seaford Library", "address": "Grand Boulevard, Seaford SA 5169", "accessibility": "Seaford library has good accessibility. The building is one-level, close to car parking, has automatic entrance doors and is wheelchair friendly.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Onkaparinga", "childcare": "N/A", "public_transport": "There are various bus services to Seaford Library. Bus stop 84A (STOP CODE 17100) is directly in front of the library and various bus services stop here or at the local exchange. Consult Adelaide Metro https://www.adelaidemetro.com.au/ for routes to suit your start location and for times. The train service also terminates at the Seaford station and it is a short walk to Seaford library. It is an ideal transport option as there are regular scheduled services from Seaford to the city centre. Again consult Adelaide Metro https://www.adelaidemetro.com.au/ for service details.", "parking": "Seaford library has ample and easily accessible car parking. There are car park spaces for those with a disability parking permit very close to the library entrance.", "public_transport_last": "Please consult Adelaide Metro https://www.adelaidemetro.com.au/ for service details."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Lunch/tea / Sunday 31st \u2013 Lunch / We will be able to meet dietary requirements as registered and provide healthy snacks/drinks", "prefix": "Unleashed", "contact": {"email": "sa@govhack.org"}, "location": {"lat": -35.1864896, "lon": 138.4789362}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_201.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_205.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Onkaparinga/Seaford_206.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "09:00 PM", "open": "06:00 PM"}, "saturday": {"close": "09:00 PM", "open": "09:00 AM"}}, "type": "Official Event & Youth Node", "id": "onkaparinga", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/parramatta.json b/feed/locations/parramatta.json new file mode 100644 index 0000000..d114ea3 --- /dev/null +++ b/feed/locations/parramatta.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Parramatta", "url": "http://portal.govhack.org/locations/nsw/parramatta.html", "jurisdiction": "nsw", "venue": {"capacity": 50, "name": "Collaboratory", "address": "Level 2, 96 Phillip Street, Parramatta NSW 2154", "accessibility": "Fully wheelchair accessible", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Andrew Perry \u2013 Open Local", "public_transport": "Venue is 10 minute walk from Parramatta Station and there is a shuttle bus that goes from the station to the venue ever 15 minutes. Venue is also located right next to the Parramtta Ferry.", "parking": "The is metered street parking available at the venue.", "public_transport_last": "The last train going to central is at 12.30am."}, "times": {"sunday": {"close": "07:30 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "06:00 PM"}, "saturday": {"close": "11:30 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackParra", "email": "govhack@openlocal.org.au"}, "location": {"lat": -33.813472, "lon": 151.009487}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "catering": "Snacks, Drinks, Tea and Coffee will all be provided. Main meals will be able to be purchased from local cafes etc.", "type": "Official Event", "id": "parramatta", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/perth.json b/feed/locations/perth.json new file mode 100644 index 0000000..65cd19d --- /dev/null +++ b/feed/locations/perth.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Perth", "url": "http://portal.govhack.org/locations/wa/perth.html", "jurisdiction": "wa", "venue": {"capacity": 150, "name": "FLUX", "address": "191 St Georges Terrace, Perth, 6000", "accessibility": "We're on the ground floor of a three story co-working space complete with elevators. Come along!", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Leslie Delaforce", "childcare": "If you have child care requests please get in touch with our organising Committee. It's a serious investment to make so we're looking to see whether we will have enough interest.", "public_transport": "We're in the CBD so public transport is really good. Closest train station is Elizabeth Quay - FLUX is about a 10 minute walk up St George's Terrace.", "parking": "We're in the CBD so parking can be pricey. Public transport might be a better option.", "public_transport_last": "The trains go until 2AM on Friday and Saturday (Though you may be joined by some revelers from the City). Sunday, trains are a bit more unreliable."}, "catering": "GovHack Perth will be fully catered. Previous participants will remember how delectable Peta Hayward's catering is for breakfasts and lunch. We'll also have the team from Epic Delivery hovering around the space ready to feed you on demand - Epic's also helping us cater on Saturday night.", "prefix": "GovHack", "contact": {"facebook": "govhackperth", "instagram": "govhackperth", "twitter": "GovHackPerth", "youtube": "GovHackPerth", "email": "perth@govhack.org", "website_url": "http://perth.govhack.org"}, "location": {"lat": -31.953921, "lon": 115.853156}, "eventbrite": "https://wagovhack2016competitor.eventbrite.com.au/", "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:59 PM", "open": "05:30 PM"}, "saturday": {"close": "11:59 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "perth", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/playford.json b/feed/locations/playford.json new file mode 100644 index 0000000..f0297d6 --- /dev/null +++ b/feed/locations/playford.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Playford", "url": "http://portal.govhack.org/locations/sa/playford.html", "jurisdiction": "sa", "venue": {"capacity": 40, "name": "Stretton Centre", "address": "307 Peachey Road, Munno Para SA 5115", "accessibility": "Detailed information to be provided soon.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Playford", "childcare": "N/A", "public_transport": "Detailed information to be provided soon.", "parking": "Detailed information to be provided soon.", "public_transport_last": "Detailed information to be provided soon."}, "catering": "Friday 29th July \u2013 Supper / Saturday 30th July \u2013 Lunch/tea / Sunday 31st \u2013 Lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "PlayfordLibrary", "facebook": "StrettonCentre", "email": "sa@govhack.org"}, "location": {"lat": -34.6689999, "lon": 138.6782796}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Foyer.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Table.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Inside+Workspace.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Playford/Stretton+Outside.jpg"], "times": {"sunday": {"close": "05:00 PM", "open": "10:00 AM"}, "friday": {"close": "09:30 PM", "open": "06:30 PM"}, "saturday": {"close": "09:30 PM", "open": "10:00 AM"}}, "type": "Official Event", "id": "playford", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/port-adelaide-enfield.json b/feed/locations/port-adelaide-enfield.json new file mode 100644 index 0000000..57b1dc7 --- /dev/null +++ b/feed/locations/port-adelaide-enfield.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Port Adelaide Enfield", "dataportals": ["enfield"], "url": "http://portal.govhack.org/locations/sa/port-adelaide-enfield.html", "jurisdiction": "sa", "venue": {"capacity": 20, "name": "Port Adelaide Library", "address": "2 Church Street, Port Adelaide SA 5015", "accessibility": "Venue has wheelchair access via main entrance.", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events.", "host": "City of Port Adelaide Enfield", "childcare": "N/A", "public_transport": "Train \u2013 Outer Harbour line (http://www.adelaidemetro.com.au/routes/OUTHA) / Bus \u2013 Route 117 & 118 (http://www.adelaidemetro.com.au/routes/117 / http://www.adelaidemetro.com.au/routes/118).", "parking": "Shopping centre carpark (2 hour limit) and off street parking available within walking distance of venue.", "public_transport_last": "Train \u2013 Outer Harbour line 11:19pm (Friday, Saturday & Sunday) to City. / Bus \u2013 Route 117 & 118 11:01pm (Friday) to City / 10:50pm (Saturday & Sunday) to City."}, "catering": "Friday 29th July \u2013 Supper/snacks / Saturday 30th July \u2013 Breakfast/lunch/tea / Sunday 31st \u2013 Breakfast/lunch", "prefix": "Unleashed", "contact": {"phone": "xxxx xxx xxx", "twitter": "cityofpae", "facebook": "cityofpae", "email": "sa@govhack.org"}, "location": {"lat": -34.847472, "lon": 138.5013009}, "eventbrite": "https://sagovhackunleashed2016competitor.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_201.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_203.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Port+Adelaide/PAE_204.png"], "times": {"sunday": {"close": "5:00 PM", "open": "9:00 AM"}, "friday": {"close": "9:00 PM", "open": "06:00 PM"}, "saturday": {"close": "9:00 PM", "open": "09:00 AM"}}, "type": "Youth Node", "id": "port-adelaide-enfield", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/queenstown.json b/feed/locations/queenstown.json new file mode 100644 index 0000000..073957e --- /dev/null +++ b/feed/locations/queenstown.json @@ -0,0 +1 @@ +{"display_weight": 70, "name": "Queenstown", "url": "http://portal.govhack.org/locations/nz/queenstown.html", "jurisdiction": "nz", "is_capital_city": false, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -45.031136, "lon": 168.662395}, "type": "Official Event", "id": "queenstown", "website_url": "http://govhack.org.nz/2016-events-and-info/queenstown/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/rockhampton-maker.json b/feed/locations/rockhampton-maker.json new file mode 100644 index 0000000..b5bdb5c --- /dev/null +++ b/feed/locations/rockhampton-maker.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Rockhampton", "dataportals": ["gold-coast"], "url": "http://portal.govhack.org/locations/qld/rockhampton-maker.html", "jurisdiction": "qld", "venue": {"host": "Brooke Brandon", "capacity": 80, "name": "Smart Hub Rockhampton", "address": "212 Quay St, Rockhampton City QLD 4700", "accessibility": "Wheelchair accessible", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "public_transport_last": "No public transport after 6 pm. Taxis optional."}, "theme": "ROCKYing the regions", "times": {"sunday": {"close": "10:00 PM", "open": "08:00 AM"}, "friday": {"close": "10:00 PM", "open": "04:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:00 AM"}}, "prefix": "GovHack", "contact": {"twitter": "govhackrocky", "email": "brookebrandon@headricks.com.au"}, "location": {"lat": -23.378562, "lon": 150.514809}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "type": "Theme Node", "id": "rockhampton-maker", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/sunshine-coast.json b/feed/locations/sunshine-coast.json new file mode 100644 index 0000000..ab03991 --- /dev/null +++ b/feed/locations/sunshine-coast.json @@ -0,0 +1 @@ +{"display_weight": 40, "name": "Sunshine Coast", "dataportals": ["sunshine-coast"], "url": "http://portal.govhack.org/locations/qld/sunshine-coast.html", "jurisdiction": "qld", "venue": {"capacity": 100, "name": "Spark Bureau", "address": "17 Ocean Street, Maroochydore 4558", "accessibility": "Access to Spark Bureau is by way of stairwell. Please advise us of your needs and we will accommodate you.", "under_18": "We are a Youth Node and will provide a child Safe environment. Guardians must ensure safety to and from events.", "host": "Danielle Neale", "childcare": "We welcome parents and carers at the event. Please advise us of your needs and we will accommodate you.", "public_transport": "Sunshine Plaza is the nearest public transport.", "parking": "There is limited parking on Ocean Street so we are looking into what we can do to accommodate you better. Check back for details ahead of the event.", "public_transport_last": "TBA"}, "catering": "Catering will be provided. More details to come on Friday 29th July. Please advise us if you have any special dietary requirements.", "prefix": "GovHack", "contact": {"phone": "0481 451 636", "twitter": "GovHackSC", "facebook": "GovHackSC", "email": "sunshinecoast@govhack.org"}, "location": {"lat": -26.652129, "lon": 153.090542}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(1).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(2).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(3).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(4).JPG", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(5).jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/SC-qld/qld-sc+(6).jpg"], "times": {"sunday": {"close": "10:00 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "05:30 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "type": "Theme Node", "id": "sunshine-coast", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/sydney-fintech.json b/feed/locations/sydney-fintech.json new file mode 100644 index 0000000..ffd7e3d --- /dev/null +++ b/feed/locations/sydney-fintech.json @@ -0,0 +1 @@ +{"display_weight": 50, "name": "Tyro Fintech Hub", "url": "http://portal.govhack.org/locations/nsw/sydney-fintech.html", "jurisdiction": "nsw", "venue": {"capacity": 80, "name": "Tyro Fintech Hub", "team": "Kingsley Jones, Nick Addison", "accessibility": "Elevator is available for wheelchairs", "under_18": "We are a Youth Node and will provide a child Safe environment - Guardians must ensure safety to and from events", "host": "Sharon Lu", "childcare": "No formal childcare arrangements, however young children accompanying parents are welcome!", "public_transport": "Wynyard Station, Carrington Street bus stop at Wynyard.", "address": "155 Clarence Street", "parking": "Street Parking. Wilsons parking nearby.", "public_transport_last": "10pm - Midnight"}, "theme": "Blockchain, Data, Security, Finance", "times": {"sunday": {"close": "08:00pm", "open": "08:00am"}, "friday": {"close": "12:00am", "open": "05:30pm"}, "saturday": {"close": "12:00am", "open": "08:00am"}}, "prefix": "GovHack", "contact": {"facebook": "Tyro-FinTech-Hub-1746330092268665", "email": "sydney-theme@govhack.org"}, "location": {"lat": -33.86801, "lon": 151.205002}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "catering": "BYO Lunch, there will also be an organised lunch run where you can put $15-20 towards and have it delivered to you.", "type": "Theme Node", "id": "sydney-fintech", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/sydney.json b/feed/locations/sydney.json new file mode 100644 index 0000000..50ae115 --- /dev/null +++ b/feed/locations/sydney.json @@ -0,0 +1 @@ +{"display_weight": 20, "name": "Sydney Official", "url": "http://portal.govhack.org/locations/nsw/sydney.html", "jurisdiction": "nsw", "venue": {"host": "Angela Bee", "capacity": 150, "name": "Stone & Chalk", "address": "Level 2, 50 Bridge Street, Sydney 2000", "parking": "Not recommended, Circular Quay station is 2 mins walk away", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "public_transport": "Circular Quay railway station is 2 mins walk away"}, "times": {"sunday": {"close": "08:00 PM", "open": "08:30 AM"}, "friday": {"close": "10:00 PM", "open": "05:00 PM"}, "saturday": {"close": "10:00 PM", "open": "08:30 AM"}}, "prefix": "GovHack", "contact": {"twitter": "GovHackSydney", "email": "sydney@govhack.org"}, "location": {"lat": -33.862788, "lon": 151.211507}, "eventbrite": "https://nswgovhack2016ct.eventbrite.com.au/", "images": ["https://www.govhack.org/wp-content/uploads/2016/07/stonechalk.png", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Sydney-nsw/HA%23hackaus.png"], "type": "Official Event", "id": "sydney", "is_capital_city": true} \ No newline at end of file diff --git a/feed/locations/toowoomba.json b/feed/locations/toowoomba.json new file mode 100644 index 0000000..779500c --- /dev/null +++ b/feed/locations/toowoomba.json @@ -0,0 +1 @@ +{"website": {"url": "http://tr.qld.gov.au/", "name": "Toowoomba Region"}, "display_weight": 50, "name": "Toowoomba", "dataportals": ["toowoomba"], "url": "http://portal.govhack.org/locations/qld/toowoomba.html", "jurisdiction": "qld", "venue": {"capacity": 40, "name": "Canvas Coworking Space", "address": "Suite 1, 625 Ruthven St, Toowoomba Qld 4350", "accessibility": "Wheelchair access is available via either entrance, however there are stairs in the middle of the building, therefore it is recommended to enter via Ruthven St.", "under_18": "At this Venue you must be accompanied by a Guardian at all times", "host": "Joy Taylor, David Masefield", "childcare": "You are welcome to bring your children to the event, however no formal childcare arrangements are available...therefore you will remain solely responsible for your children whilst they are here. We do have a chill out area, with XBox and TV which they are welcome to use.", "parking": "Parking is available in the surrounding streets, along Ruthven St, Telford St and Mann St.\nAccess to the building is via either Ruthven St (our doorway is next to the Vehicle Brokers, near August Moon Chinese Restaurant... opposite Bob Jane TMart) or via the rear of the building off Mann St.\n"}, "catering": "Breakfast, Lunch and Dinner, with snack, tea & coffee will be provided.", "prefix": "GovHack", "contact": {"twitter": "GovHackQld", "email": "toowoomba@govhack.org"}, "location": {"lat": -27.567963, "lon": 151.952122}, "eventbrite": "https://qldgovhack2016compete.eventbrite.com.au/", "images": ["https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Previous+Event+1.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Previous+Event+2.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+1.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+2.jpg", "https://s3-ap-southeast-2.amazonaws.com/2016eventregistration/Toowoomba-qld/Venue+3.jpg"], "times": {"sunday": {"close": "09:00 PM", "open": "08:00 AM"}, "friday": {"close": "11:00 PM", "open": "08:00 AM"}, "saturday": {"close": "11:00 PM", "open": "08:00 AM"}}, "type": "Official Event", "id": "toowoomba", "is_capital_city": false} \ No newline at end of file diff --git a/feed/locations/wellington.json b/feed/locations/wellington.json new file mode 100644 index 0000000..f32a881 --- /dev/null +++ b/feed/locations/wellington.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Wellington", "url": "http://portal.govhack.org/locations/nz/wellington.html", "jurisdiction": "nz", "is_capital_city": true, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -41.28695, "lon": 174.775608}, "type": "Official Event", "id": "wellington", "website_url": "http://govhack.org.nz/2016-events-and-info/wellington/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/whanganui.json b/feed/locations/whanganui.json new file mode 100644 index 0000000..f606b79 --- /dev/null +++ b/feed/locations/whanganui.json @@ -0,0 +1 @@ +{"display_weight": 70, "name": "Whanganui", "url": "http://portal.govhack.org/locations/nz/whanganui.html", "jurisdiction": "nz", "is_capital_city": true, "contact": {"twitter": "GovHackNZ"}, "location": {"lat": -39.9301, "lon": 175.0479}, "type": "Official Event", "id": "whanganui", "website_url": "http://govhack.org.nz/2016-events-and-info/whanganui/", "photo_url": "/resources/csiro-logo.png"} \ No newline at end of file diff --git a/feed/locations/wyndham.json b/feed/locations/wyndham.json new file mode 100644 index 0000000..821c6bc --- /dev/null +++ b/feed/locations/wyndham.json @@ -0,0 +1 @@ +{"display_weight": 30, "name": "Hack for Wyndham", "dataportals": ["wyndham"], "url": "http://portal.govhack.org/locations/vic/wyndham.html", "jurisdiction": "vic", "venue": {"capacity": 20, "name": "Werribee Learning Centre", "address": "9 Bridge Street, Werribee", "accessibility": "Street parking available.", "under_18": "At this Venue you must be accompanied by a Guardian at all times.", "host": "Vijai Mani", "public_transport": "[bit.ly/28Kxtx5](http://bit.ly/28Kxtx5)\n", "parking": "TBC.", "public_transport_last": "12.22AM"}, "theme": "Transport", "catering": "TBC", "phone": "0402 524 182", "prefix": "GovHack", "contact": null, "location": {"lat": -37.9029207, "lon": 144.6580415}, "eventbrite": "https://govhack_vic_competitor.eventbrite.com.au/", "times": {"sunday": {"close": "07:00 PM", "open": "09:30 AM"}, "friday": {"close": "09:00 PM", "open": "06:30 PM"}, "saturday": {"close": "05:00 AM", "open": "09:30 AM"}}, "type": "Theme Node", "id": "wyndham", "is_capital_city": false} \ No newline at end of file diff --git a/feed/organisations/1303-2.json b/feed/organisations/1303-2.json new file mode 100644 index 0000000..90b7de4 --- /dev/null +++ b/feed/organisations/1303-2.json @@ -0,0 +1 @@ +{"jurisdiction": "nz", "name": "Statistics NZ", "title": "Statistics NZ", "sponsor_level_id": "nz-national", "sponsor_level_desc": "Silver and National Sponsors", "sponsor_level": "NZ National Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/statistics_nz_logo_vertical-11.png", "id": "1303-2"} \ No newline at end of file diff --git a/feed/organisations/1307-2.json b/feed/organisations/1307-2.json new file mode 100644 index 0000000..bfdb84c --- /dev/null +++ b/feed/organisations/1307-2.json @@ -0,0 +1 @@ +{"jurisdiction": "nz", "name": "Qlik", "title": "Qlik", "sponsor_level_id": "nz-national", "sponsor_level_desc": "Silver and National Sponsors", "sponsor_level": "NZ National Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/qlik_logo_vertical-11.png", "id": "1307-2"} \ No newline at end of file diff --git a/feed/organisations/41st-degree-software.json b/feed/organisations/41st-degree-software.json new file mode 100644 index 0000000..c46616b --- /dev/null +++ b/feed/organisations/41st-degree-software.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "41st Degree Software", "title": "41st Degree Software", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/41st_degree_software.png", "type": "corporate", "id": "41st-degree-software", "website_url": "http://41ds.com.au"} \ No newline at end of file diff --git a/feed/organisations/aarnet.json b/feed/organisations/aarnet.json new file mode 100644 index 0000000..3f26e12 --- /dev/null +++ b/feed/organisations/aarnet.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "AARNet", "title": "AARNet", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "National Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/aarnet.png", "id": "aarnet", "website_url": "https://www.aarnet.edu.au"} \ No newline at end of file diff --git a/feed/organisations/abc.json b/feed/organisations/abc.json new file mode 100644 index 0000000..07b57b4 --- /dev/null +++ b/feed/organisations/abc.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Broadcasting Corporation", "title": "Australian Broadcasting Corporation", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/ABC_Primary_CMYK-300x3001.png", "id": "abc", "website_url": "http://about.abc.net.au/"} \ No newline at end of file diff --git a/feed/organisations/acquia.json b/feed/organisations/acquia.json new file mode 100644 index 0000000..5184df9 --- /dev/null +++ b/feed/organisations/acquia.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Acquia", "title": "Acquia", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "National Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/acquia.png", "id": "acquia", "website_url": "https://www.acquia.com/"} \ No newline at end of file diff --git a/feed/organisations/act-chief-minister-treasury-and-economic-development-directorate.json b/feed/organisations/act-chief-minister-treasury-and-economic-development-directorate.json new file mode 100644 index 0000000..6193e36 --- /dev/null +++ b/feed/organisations/act-chief-minister-treasury-and-economic-development-directorate.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "Park CBR", "title": "Park CBR", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/park_cbr.png", "id": "act-chief-minister-treasury-and-economic-development-directorate", "website_url": "http://www.cmd.act.gov.au/smartparking/home"} \ No newline at end of file diff --git a/feed/organisations/act-government-environment-and-planning.json b/feed/organisations/act-government-environment-and-planning.json new file mode 100644 index 0000000..3a67459 --- /dev/null +++ b/feed/organisations/act-government-environment-and-planning.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "ACT Government Environment and Planning", "title": "ACT Government Environment and Planning", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/act_environment_and_planning.png", "id": "act-government-environment-and-planning", "website_url": "http://www.planning.act.gov.au"} \ No newline at end of file diff --git a/feed/organisations/adelaide-city-council.json b/feed/organisations/adelaide-city-council.json new file mode 100644 index 0000000..caa864c --- /dev/null +++ b/feed/organisations/adelaide-city-council.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Adelaide City Council", "title": "Adelaide City Council", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/adelaide_city_council.png", "id": "adelaide-city-council", "website_url": "http://www.adelaidecitycouncil.com/"} \ No newline at end of file diff --git a/feed/organisations/almost-anything-web-and-graphic-design.json b/feed/organisations/almost-anything-web-and-graphic-design.json new file mode 100644 index 0000000..350eb08 --- /dev/null +++ b/feed/organisations/almost-anything-web-and-graphic-design.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Almost Anything Web and Graphic Design", "title": "Almost Anything Web and Graphic Design", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "almost-anything-web-and-graphic-design", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/almost_anything.png", "type": "corporate", "events": ["rockhampton-maker"], "website_url": "http://www.almostanything.com.au"} \ No newline at end of file diff --git a/feed/organisations/amazon-web-services.json b/feed/organisations/amazon-web-services.json new file mode 100644 index 0000000..809a9d1 --- /dev/null +++ b/feed/organisations/amazon-web-services.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Amazon Web Services", "title": "Amazon Web Services", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "National Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/amazon_web_services.png", "id": "amazon-web-services", "website_url": "https://aws.amazon.com"} \ No newline at end of file diff --git a/feed/organisations/ancestry.json b/feed/organisations/ancestry.json new file mode 100644 index 0000000..ab9f764 --- /dev/null +++ b/feed/organisations/ancestry.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Ancestry", "title": "Ancestry", "sponsor_level_id": "international-prize", "sponsor_level_desc": "International Prize Sponsors", "sponsor_level": "International Prize Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/ancestry.png", "id": "ancestry", "website_url": "http://www.ancestry.com.au/"} \ No newline at end of file diff --git a/feed/organisations/attorney-generals-department-sa.json b/feed/organisations/attorney-generals-department-sa.json new file mode 100644 index 0000000..7431e42 --- /dev/null +++ b/feed/organisations/attorney-generals-department-sa.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Attorney General's Department SA", "title": "Attorney General's Department SA", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sa_attorney_generals_department.png", "id": "attorney-generals-department-sa", "website_url": "http://www.ag.gov.au/Pages/default.aspx"} \ No newline at end of file diff --git a/feed/organisations/australian-bureau-of-statistics.json b/feed/organisations/australian-bureau-of-statistics.json new file mode 100644 index 0000000..2217369 --- /dev/null +++ b/feed/organisations/australian-bureau-of-statistics.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Bureau of Statistics", "title": "Australian Bureau of Statistics", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "contact": {"slack_channel": "talk-stats", "slack_team": "govhackhq.slack.com"}, "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/australian_bureau_of_statistics.png", "id": "australian-bureau-of-statistics", "website_url": "http://www.abs.gov.au"} \ No newline at end of file diff --git a/feed/organisations/australian-business-register.json b/feed/organisations/australian-business-register.json new file mode 100644 index 0000000..8eb6840 --- /dev/null +++ b/feed/organisations/australian-business-register.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Business Register", "title": "Australian Business Register", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/australian_business_register.png", "id": "australian-business-register", "website_url": "https://abr.gov.au"} \ No newline at end of file diff --git a/feed/organisations/australian-computer-society-2.json b/feed/organisations/australian-computer-society-2.json new file mode 100644 index 0000000..6bf9194 --- /dev/null +++ b/feed/organisations/australian-computer-society-2.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Australian Computer Society", "title": "Australian Computer Society", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/australian_computer_society.png", "id": "australian-computer-society-2", "website_url": "https://www.acs.org.au/branches/tasmania"} \ No newline at end of file diff --git a/feed/organisations/australian-computer-society.json b/feed/organisations/australian-computer-society.json new file mode 100644 index 0000000..aaef0ee --- /dev/null +++ b/feed/organisations/australian-computer-society.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Australian Computer Society", "title": "Australian Computer Society", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/australian_computer_society.png", "id": "australian-computer-society", "website_url": "http://www.acs.org.au/"} \ No newline at end of file diff --git a/feed/organisations/australian-financial-security-authority.json b/feed/organisations/australian-financial-security-authority.json new file mode 100644 index 0000000..0868a45 --- /dev/null +++ b/feed/organisations/australian-financial-security-authority.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Financial Security Authority", "title": "Australian Financial Security Authority", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/australian_financial_security_authority.png", "id": "australian-financial-security-authority", "website_url": "https://www.afsa.gov.au/resources/statistics/govhack"} \ No newline at end of file diff --git a/feed/organisations/australian-institute-of-health-and-welfare.json b/feed/organisations/australian-institute-of-health-and-welfare.json new file mode 100644 index 0000000..52511dc --- /dev/null +++ b/feed/organisations/australian-institute-of-health-and-welfare.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Institute of Health and Welfare", "title": "Australian Institute of Health and Welfare", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/australian_institute_of_health_and_welfare.png", "id": "australian-institute-of-health-and-welfare", "website_url": "http://www.aihw.gov.au"} \ No newline at end of file diff --git a/feed/organisations/australian-taxation-office.json b/feed/organisations/australian-taxation-office.json new file mode 100644 index 0000000..191e78a --- /dev/null +++ b/feed/organisations/australian-taxation-office.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Australian Taxation Office", "title": "Australian Taxation Office", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/australian_taxation_office.png", "id": "australian-taxation-office", "website_url": "https://www.ato.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/aws.json b/feed/organisations/aws.json new file mode 100644 index 0000000..760f208 --- /dev/null +++ b/feed/organisations/aws.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "AWS", "title": "AWS", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "aws", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/amazon_web_services.png", "type": "corporate", "events": ["sydney"], "website_url": "https://aws.amazon.com"} \ No newline at end of file diff --git a/feed/organisations/bickfords-australia.json b/feed/organisations/bickfords-australia.json new file mode 100644 index 0000000..e2e804c --- /dev/null +++ b/feed/organisations/bickfords-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Bickford's Australia", "title": "Bickford's Australia", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "bickfords-australia", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/bickfords.png", "type": "corporate", "events": ["port-adelaide-enfield"], "website_url": "http://www.bickfords.net"} \ No newline at end of file diff --git a/feed/organisations/bitlink.json b/feed/organisations/bitlink.json new file mode 100644 index 0000000..41bdb4c --- /dev/null +++ b/feed/organisations/bitlink.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Bitlink", "title": "Bitlink", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/bitlink.png", "id": "bitlink", "website_url": "http://www.bitlink.com.au"} \ No newline at end of file diff --git a/feed/organisations/bitplex.json b/feed/organisations/bitplex.json new file mode 100644 index 0000000..3b453a0 --- /dev/null +++ b/feed/organisations/bitplex.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Bitplex", "title": "Bitplex", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "bitplex", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/bitplex.png", "type": "corporate", "events": ["rockhampton-maker"], "website_url": "https://www.bitplex.com.au"} \ No newline at end of file diff --git a/feed/organisations/brisbane-city-council.json b/feed/organisations/brisbane-city-council.json new file mode 100644 index 0000000..466623c --- /dev/null +++ b/feed/organisations/brisbane-city-council.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Brisbane City Council", "title": "Brisbane City Council", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/brisbane_city_council.png", "id": "brisbane-city-council", "website_url": "https://www.brisbane.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/buddy-platform.json b/feed/organisations/buddy-platform.json new file mode 100644 index 0000000..b49b4db --- /dev/null +++ b/feed/organisations/buddy-platform.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Buddy Platform", "title": "Buddy Platform", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "buddy-platform", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/buddy_small.png", "type": "corporate", "events": ["adelaide"], "website_url": "https://buddy.com"} \ No newline at end of file diff --git a/feed/organisations/bureau-of-meteorology.json b/feed/organisations/bureau-of-meteorology.json new file mode 100644 index 0000000..2cc4a9c --- /dev/null +++ b/feed/organisations/bureau-of-meteorology.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Bureau of Meteorology", "dataportals": ["bom"], "title": "Bureau of Meteorology", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/bureau_of_meteorology.png", "id": "bureau-of-meteorology", "website_url": "http://www.bom.gov.au"} \ No newline at end of file diff --git a/feed/organisations/bureau-of-meterology.json b/feed/organisations/bureau-of-meterology.json new file mode 100644 index 0000000..2d661a7 --- /dev/null +++ b/feed/organisations/bureau-of-meterology.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Bureau of Meteorology", "title": "Bureau of Meteorology", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/bureau_of_meteorology.png", "id": "bureau-of-meterology", "website_url": "http://www.bom.gov.au"} \ No newline at end of file diff --git a/feed/organisations/business-sa.json b/feed/organisations/business-sa.json new file mode 100644 index 0000000..ddaa4ea --- /dev/null +++ b/feed/organisations/business-sa.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Business SA", "title": "Business SA", "sponsor_level_id": "premier", "sponsor_level_desc": "Premier Sponsors", "sponsor_level": "Premier Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/business_sa.png", "id": "business-sa", "website_url": "http://business-sa.com"} \ No newline at end of file diff --git a/feed/organisations/canberra-grammar-school.json b/feed/organisations/canberra-grammar-school.json new file mode 100644 index 0000000..4a10da6 --- /dev/null +++ b/feed/organisations/canberra-grammar-school.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "Canberra Grammar School", "title": "Canberra Grammar School", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "canberra-grammar-school", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/canberra_grammar_school.png", "type": "community", "events": ["canberra"], "website_url": "http://cgs.act.edu.au"} \ No newline at end of file diff --git a/feed/organisations/cbr-innovation-network.json b/feed/organisations/cbr-innovation-network.json new file mode 100644 index 0000000..9f7d4ec --- /dev/null +++ b/feed/organisations/cbr-innovation-network.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "CBR Innovation Network", "title": "CBR Innovation Network", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/cbr_innovation_network.png", "type": "government", "id": "cbr-innovation-network", "website_url": "http://cbrin.com.au"} \ No newline at end of file diff --git a/feed/organisations/chiliad-consulting.json b/feed/organisations/chiliad-consulting.json new file mode 100644 index 0000000..e186979 --- /dev/null +++ b/feed/organisations/chiliad-consulting.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Chiliad Consulting", "title": "Chiliad Consulting", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/chiliad_consulting.png", "id": "chiliad-consulting", "website_url": "http://www.chiliad.com.au"} \ No newline at end of file diff --git a/feed/organisations/city-of-ballarat.json b/feed/organisations/city-of-ballarat.json new file mode 100644 index 0000000..38b4419 --- /dev/null +++ b/feed/organisations/city-of-ballarat.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "City of Ballarat", "title": "City of Ballarat", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-ballarat", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_ballarat.png", "type": "government", "events": ["ballarat"], "website_url": "http://www.ballarat.vic.gov.au"} \ No newline at end of file diff --git a/feed/organisations/city-of-gold-coast.json b/feed/organisations/city-of-gold-coast.json new file mode 100644 index 0000000..27ae5d4 --- /dev/null +++ b/feed/organisations/city-of-gold-coast.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "City of Gold Coast", "title": "City of Gold Coast", "sponsor_level_id": "premier", "sponsor_level_desc": "Premier Sponsors", "id": "city-of-gold-coast", "sponsor_level": "Premier Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_gold_coast.png", "type": "government", "events": ["gold-coast"], "website_url": "http://www.goldcoast.qld.gov.au/default.html"} \ No newline at end of file diff --git a/feed/organisations/city-of-greater-geelong.json b/feed/organisations/city-of-greater-geelong.json new file mode 100644 index 0000000..d472679 --- /dev/null +++ b/feed/organisations/city-of-greater-geelong.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "City of Greater Geelong", "title": "City of Greater Geelong", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-greater-geelong", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_greater_geelong.png", "type": "government", "events": ["geelong"], "website_url": "http://www.geelongaustralia.com.au"} \ No newline at end of file diff --git a/feed/organisations/city-of-hobart.json b/feed/organisations/city-of-hobart.json new file mode 100644 index 0000000..150ccbf --- /dev/null +++ b/feed/organisations/city-of-hobart.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "City of Hobart", "title": "City of Hobart", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_hobart.png", "id": "city-of-hobart", "website_url": "http://www.hobartcity.com.au/Home"} \ No newline at end of file diff --git a/feed/organisations/city-of-melbourne.json b/feed/organisations/city-of-melbourne.json new file mode 100644 index 0000000..b764358 --- /dev/null +++ b/feed/organisations/city-of-melbourne.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "City of Melbourne", "title": "City of Melbourne", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/city_of_melbourne_colour.png", "id": "city-of-melbourne", "website_url": "http://www.melbourne.vic.gov.au/Pages/Home.aspx"} \ No newline at end of file diff --git a/feed/organisations/city-of-mount-gambier.json b/feed/organisations/city-of-mount-gambier.json new file mode 100644 index 0000000..c152637 --- /dev/null +++ b/feed/organisations/city-of-mount-gambier.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "City of Mount Gambier", "title": "City of Mount Gambier", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-mount-gambier", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_mount_gambier.png", "type": "government", "events": ["mount-gambier-youth"], "website_url": "http://www.mountgambier.sa.gov.au/page.aspx"} \ No newline at end of file diff --git a/feed/organisations/city-of-onkaparinga.json b/feed/organisations/city-of-onkaparinga.json new file mode 100644 index 0000000..b452e5a --- /dev/null +++ b/feed/organisations/city-of-onkaparinga.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "City of Onkaparinga", "title": "City of Onkaparinga", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-onkaparinga", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_onkaparinga.png", "type": "government", "events": ["onkaparinga"], "website_url": "http://www.onkaparingacity.com/onka/home.jsp"} \ No newline at end of file diff --git a/feed/organisations/city-of-playford.json b/feed/organisations/city-of-playford.json new file mode 100644 index 0000000..5098427 --- /dev/null +++ b/feed/organisations/city-of-playford.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "City of Playford", "title": "City of Playford", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-playford", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_playford.png", "type": "government", "events": ["playford"], "website_url": "http://www.playford.sa.gov.au/page.aspx"} \ No newline at end of file diff --git a/feed/organisations/city-of-port-adelaide-enfield.json b/feed/organisations/city-of-port-adelaide-enfield.json new file mode 100644 index 0000000..03dd995 --- /dev/null +++ b/feed/organisations/city-of-port-adelaide-enfield.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "City of Port Adelaide Enfield", "title": "City of Port Adelaide Enfield", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "id": "city-of-port-adelaide-enfield", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_port_adelaide_enfield.png", "type": "government", "events": ["port-adelaide-enfield"], "website_url": "https://www.portenf.sa.gov.au/page.aspx"} \ No newline at end of file diff --git a/feed/organisations/city-of-sydney.json b/feed/organisations/city-of-sydney.json new file mode 100644 index 0000000..d04130e --- /dev/null +++ b/feed/organisations/city-of-sydney.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "City of Sydney", "title": "City of Sydney", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/city_of_sydney.png", "id": "city-of-sydney", "website_url": "http://www.cityofsydney.nsw.gov.au"} \ No newline at end of file diff --git a/feed/organisations/clickdish.json b/feed/organisations/clickdish.json new file mode 100644 index 0000000..a024fd3 --- /dev/null +++ b/feed/organisations/clickdish.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Clickdish", "title": "Clickdish", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/clickdish.png", "id": "clickdish", "website_url": "http://www.clickdish.com.au"} \ No newline at end of file diff --git a/feed/organisations/coca-cola-amatil.json b/feed/organisations/coca-cola-amatil.json new file mode 100644 index 0000000..14ec658 --- /dev/null +++ b/feed/organisations/coca-cola-amatil.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Coca Cola Amatil", "title": "Coca Cola Amatil", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "coca-cola-amatil", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/coca_cola_amatil.png", "type": "corporate", "events": ["adelaide"], "website_url": "https://www.ccamatil.com"} \ No newline at end of file diff --git a/feed/organisations/coder-factory.json b/feed/organisations/coder-factory.json new file mode 100644 index 0000000..1914f11 --- /dev/null +++ b/feed/organisations/coder-factory.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Coder Factory", "title": "Coder Factory", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "coder-factory", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/coder_factory.png", "type": "corporate", "events": ["sydney"], "website_url": "https://www.coderfactoryacademy.edu.au"} \ No newline at end of file diff --git a/feed/organisations/committee-for-sydney.json b/feed/organisations/committee-for-sydney.json new file mode 100644 index 0000000..a955abf --- /dev/null +++ b/feed/organisations/committee-for-sydney.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Committee for Sydney", "title": "Committee for Sydney", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "committee-for-sydney", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/Committee-for-Sydney.png", "events": ["sydney"]} \ No newline at end of file diff --git a/feed/organisations/data-61.json b/feed/organisations/data-61.json new file mode 100644 index 0000000..e0aba18 --- /dev/null +++ b/feed/organisations/data-61.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Data61", "title": "Data61", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/csiro.png", "id": "data-61", "website_url": "http://www.data61.csiro.au"} \ No newline at end of file diff --git a/feed/organisations/data-to-decisions-crc.json b/feed/organisations/data-to-decisions-crc.json new file mode 100644 index 0000000..5c943dc --- /dev/null +++ b/feed/organisations/data-to-decisions-crc.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Data to Decisions CRC", "title": "Data to Decisions CRC", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "data-to-decisions-crc", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/data_to_decisions_crc.png", "type": "government", "events": ["adelaide"]} \ No newline at end of file diff --git a/feed/organisations/deakin-university-department-of-information-systems-and-business-analytics.json b/feed/organisations/deakin-university-department-of-information-systems-and-business-analytics.json new file mode 100644 index 0000000..3e875e7 --- /dev/null +++ b/feed/organisations/deakin-university-department-of-information-systems-and-business-analytics.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Deakin University Department of Information Systems and Business Analytics", "title": "Deakin University Department of Information Systems and Business Analytics", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "deakin-university-department-of-information-systems-and-business-analytics", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/deakin_university_department_of_information_systems_and_business_analytics.png", "type": "University", "events": ["geelong"], "website_url": "http://www.deakin.edu.au/business/information-systems-business-analytics"} \ No newline at end of file diff --git a/feed/organisations/deloitte.json b/feed/organisations/deloitte.json new file mode 100644 index 0000000..1a812aa --- /dev/null +++ b/feed/organisations/deloitte.json @@ -0,0 +1 @@ +{"name": "Deloitte", "jurisdiction": "australia", "is_sponsor": false, "type": "Corporate", "id": "deloitte", "website_url": "http://www2.deloitte.com/au/en.html"} \ No newline at end of file diff --git a/feed/organisations/denv.json b/feed/organisations/denv.json new file mode 100644 index 0000000..5a696e9 --- /dev/null +++ b/feed/organisations/denv.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "SA Department of Environment, Water and Natural Resources", "title": "SA Department of Environment, Water and Natural Resources", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/sa_department_of_environment_water_and_natural_resources.png", "id": "denv", "website_url": "http://www.environment.sa.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/department-of-education-and-training.json b/feed/organisations/department-of-education-and-training.json new file mode 100644 index 0000000..5387ba3 --- /dev/null +++ b/feed/organisations/department-of-education-and-training.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of Education and Training", "title": "Department of Education and Training", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "contact": {"twitter": "EDUGovHack2016"}, "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/dept_of_education_and_training.png", "id": "department-of-education-and-training", "website_url": "https://www.education.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/department-of-employment.json b/feed/organisations/department-of-employment.json new file mode 100644 index 0000000..53aa892 --- /dev/null +++ b/feed/organisations/department-of-employment.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of Employment", "title": "Department of Employment", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/dept_of_employment.png", "id": "department-of-employment", "website_url": "https://www.employment.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/department-of-finance.json b/feed/organisations/department-of-finance.json new file mode 100644 index 0000000..0c1ba7d --- /dev/null +++ b/feed/organisations/department-of-finance.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of Finance", "title": "Department of Finance", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/department_of_finance.png", "id": "department-of-finance", "website_url": "http://www.finance.gov.au"} \ No newline at end of file diff --git a/feed/organisations/department-of-industry-innovation-and-science.json b/feed/organisations/department-of-industry-innovation-and-science.json new file mode 100644 index 0000000..c84cec2 --- /dev/null +++ b/feed/organisations/department-of-industry-innovation-and-science.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of Industry, Innovation and Science", "title": "Department of Industry, Innovation and Science", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/dept_of_industry_science_and_innovation.png", "id": "department-of-industry-innovation-and-science", "website_url": "http://www.industry.gov.au/Pages/default.aspx"} \ No newline at end of file diff --git a/feed/organisations/department-of-infrastructure-and-regional-development.json b/feed/organisations/department-of-infrastructure-and-regional-development.json new file mode 100644 index 0000000..1b7976e --- /dev/null +++ b/feed/organisations/department-of-infrastructure-and-regional-development.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of Infrastructure and Regional Development", "title": "Department of Infrastructure and Regional Development", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/dept_of_infrastructure_and_regional_development.png", "id": "department-of-infrastructure-and-regional-development", "website_url": "https://infrastructure.gov.au"} \ No newline at end of file diff --git a/feed/organisations/department-of-social-services.json b/feed/organisations/department-of-social-services.json new file mode 100644 index 0000000..abc347e --- /dev/null +++ b/feed/organisations/department-of-social-services.json @@ -0,0 +1 @@ +{"name": "Department of Social Services", "jurisdiction": "australia", "is_sponsor": false, "type": "Government", "id": "department-of-social-services", "website_url": "https://www.dss.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/department-of-state-development-sa.json b/feed/organisations/department-of-state-development-sa.json new file mode 100644 index 0000000..a107d9c --- /dev/null +++ b/feed/organisations/department-of-state-development-sa.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Department of State Development SA", "title": "Department of State Development SA", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sa_dept_of_state_development.png", "id": "department-of-state-development-sa", "website_url": "http://www.statedevelopment.sa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/department-of-the-prime-minister-and-cabinet.json b/feed/organisations/department-of-the-prime-minister-and-cabinet.json new file mode 100644 index 0000000..6e8e7d4 --- /dev/null +++ b/feed/organisations/department-of-the-prime-minister-and-cabinet.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Department of the Prime Minister and Cabinet", "title": "Department of the Prime Minister and Cabinet", "sponsor_level_id": "supporter", "sponsor_level_desc": "With Support From", "sponsor_level": "Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/department_of_the_prime_minister_and_cabinet.png", "id": "department-of-the-prime-minister-and-cabinet", "website_url": "https://www.dpmc.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/digital-careers.json b/feed/organisations/digital-careers.json new file mode 100644 index 0000000..e9f8f45 --- /dev/null +++ b/feed/organisations/digital-careers.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Digital Careers", "title": "Digital Careers", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "digital-careers", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/digital_careers.png", "type": "government", "events": ["brisbane"], "website_url": "http://digitalcareers.edu.au"} \ No newline at end of file diff --git a/feed/organisations/digital-ocean.json b/feed/organisations/digital-ocean.json new file mode 100644 index 0000000..67c9e54 --- /dev/null +++ b/feed/organisations/digital-ocean.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Digital Ocean", "title": "Digital Ocean", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "digital-ocean", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/digital_ocean.png", "type": "corporate", "events": ["gold-coast"], "website_url": "https://www.digitalocean.com"} \ No newline at end of file diff --git a/feed/organisations/dla-piper.json b/feed/organisations/dla-piper.json new file mode 100644 index 0000000..e536c76 --- /dev/null +++ b/feed/organisations/dla-piper.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "DLA Piper", "title": "DLA Piper", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "National Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/dla_piper.png", "id": "dla-piper", "website_url": "https://www.dlapiper.com/en/australia/"} \ No newline at end of file diff --git a/feed/organisations/eaglecrest-technologies.json b/feed/organisations/eaglecrest-technologies.json new file mode 100644 index 0000000..68a61ec --- /dev/null +++ b/feed/organisations/eaglecrest-technologies.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Eaglecrest Technologies", "title": "Eaglecrest Technologies", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/eaglecrest_technologies.png", "id": "eaglecrest-technologies", "website_url": "http://www.eaglecrest.com.au"} \ No newline at end of file diff --git a/feed/organisations/envoy.json b/feed/organisations/envoy.json new file mode 100644 index 0000000..07fc2f2 --- /dev/null +++ b/feed/organisations/envoy.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Envoy", "title": "Envoy", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "envoy", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/envoy.png", "type": "corporate", "events": ["sydney"], "website_url": "https://www.envoyat.com"} \ No newline at end of file diff --git a/feed/organisations/fed_dept_environment.json b/feed/organisations/fed_dept_environment.json new file mode 100644 index 0000000..a4f44ad --- /dev/null +++ b/feed/organisations/fed_dept_environment.json @@ -0,0 +1 @@ +{"name": "Department of the Environment", "jurisdiction": "australia", "is_sponsor": false, "type": "Government", "id": "fed_dept_environment", "website_url": "http://www.environment.gov.au"} \ No newline at end of file diff --git a/feed/organisations/fire-station-101.json b/feed/organisations/fire-station-101.json new file mode 100644 index 0000000..d26813a --- /dev/null +++ b/feed/organisations/fire-station-101.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Fire Station 101", "title": "Fire Station 101", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "fire-station-101", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/fire_station_101.png", "type": "community", "events": ["ipswich-digital-city"], "website_url": "http://firestation101.com.au"} \ No newline at end of file diff --git a/feed/organisations/friends-of-seaford-library.json b/feed/organisations/friends-of-seaford-library.json new file mode 100644 index 0000000..7cc6e8f --- /dev/null +++ b/feed/organisations/friends-of-seaford-library.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Friends of Seaford Library", "title": "Friends of Seaford Library", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "friends-of-seaford-library", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/friends_of_seaford_library.png", "type": "community", "events": ["onkaparinga"], "website_url": "http://seaford.lib.de.us/friends/"} \ No newline at end of file diff --git a/feed/organisations/friends-of-the-library-mt-gambier.json b/feed/organisations/friends-of-the-library-mt-gambier.json new file mode 100644 index 0000000..de5c294 --- /dev/null +++ b/feed/organisations/friends-of-the-library-mt-gambier.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Friends of the Library Mt Gambier", "title": "Friends of the Library Mt Gambier", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "friends-of-the-library-mt-gambier", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/friends_of_the_library_mt_gambier.png", "events": ["mount-gambier-youth"], "website_url": "http://folmtg.blogspot.com.au"} \ No newline at end of file diff --git a/feed/organisations/geelong-regional-libraries.json b/feed/organisations/geelong-regional-libraries.json new file mode 100644 index 0000000..77445bc --- /dev/null +++ b/feed/organisations/geelong-regional-libraries.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Geelong Regional Libraries", "title": "Geelong Regional Libraries", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "geelong-regional-libraries", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/geelong_regional_libraries.png", "type": "community", "events": ["geelong"], "website_url": "http://www.grlc.vic.gov.au"} \ No newline at end of file diff --git a/feed/organisations/geoscience-australia.json b/feed/organisations/geoscience-australia.json new file mode 100644 index 0000000..7a5f2dc --- /dev/null +++ b/feed/organisations/geoscience-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Geoscience Australia", "title": "Geoscience Australia", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/geoscience_australia.png", "id": "geoscience-australia", "website_url": "http://www.ga.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/glenorchy-city-council.json b/feed/organisations/glenorchy-city-council.json new file mode 100644 index 0000000..5aada21 --- /dev/null +++ b/feed/organisations/glenorchy-city-council.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Glenorchy City Council", "title": "Glenorchy City Council", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/glenorchy_city_council.png", "id": "glenorchy-city-council", "website_url": "http://www.gcc.tas.gov.au/content/"} \ No newline at end of file diff --git a/feed/organisations/google.json b/feed/organisations/google.json new file mode 100644 index 0000000..568b36e --- /dev/null +++ b/feed/organisations/google.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Google", "title": "Google", "sponsor_level_id": "international-prize", "sponsor_level_desc": "International Prize Sponsors", "sponsor_level": "International Prize Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/Google.png", "id": "google", "website_url": "https://www.google.com/intl/en/about/"} \ No newline at end of file diff --git a/feed/organisations/green-triangle-electronics.json b/feed/organisations/green-triangle-electronics.json new file mode 100644 index 0000000..54232f7 --- /dev/null +++ b/feed/organisations/green-triangle-electronics.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Green Triangle Electronics", "title": "Green Triangle Electronics", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "green-triangle-electronics", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/green_triangle_electronics.png", "events": ["mount-gambier-youth"], "website_url": "http://www.gte.com.au"} \ No newline at end of file diff --git a/feed/organisations/griffith-university-2.json b/feed/organisations/griffith-university-2.json new file mode 100644 index 0000000..ed806d1 --- /dev/null +++ b/feed/organisations/griffith-university-2.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Griffith University", "title": "Griffith University", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "griffith-university-2", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/griffith_university.png", "type": "University", "events": ["brisbane"], "website_url": "https://www.griffith.edu.au"} \ No newline at end of file diff --git a/feed/organisations/griffith-university-3.json b/feed/organisations/griffith-university-3.json new file mode 100644 index 0000000..e741357 --- /dev/null +++ b/feed/organisations/griffith-university-3.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Griffith University", "title": "Griffith University", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "griffith-university-3", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/griffith_university.png", "type": "University", "events": ["gold-coast"], "website_url": "https://www.griffith.edu.au"} \ No newline at end of file diff --git a/feed/organisations/griffith-university.json b/feed/organisations/griffith-university.json new file mode 100644 index 0000000..d23d1e3 --- /dev/null +++ b/feed/organisations/griffith-university.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Griffith University", "title": "Griffith University", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "griffith-university", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/griffith_university.png", "type": "University", "events": ["brisbane", "gold-coast"], "website_url": "https://www.griffith.edu.au"} \ No newline at end of file diff --git a/feed/organisations/harvey-norman.json b/feed/organisations/harvey-norman.json new file mode 100644 index 0000000..4486cfe --- /dev/null +++ b/feed/organisations/harvey-norman.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Harvey Norman", "title": "Harvey Norman", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "harvey-norman", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/harvey_norman.png", "type": "corporate", "events": ["mount-gambier-youth"], "website_url": "http://www.harveynorman.com.au"} \ No newline at end of file diff --git a/feed/organisations/iag.json b/feed/organisations/iag.json new file mode 100644 index 0000000..22a7188 --- /dev/null +++ b/feed/organisations/iag.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "IAG", "title": "IAG", "sponsor_level_id": "international-prize", "sponsor_level_desc": "International Prize Sponsors", "sponsor_level": "International Prize Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/iag.png", "id": "iag", "website_url": "http://www.iag.com.au/"} \ No newline at end of file diff --git a/feed/organisations/ibm.json b/feed/organisations/ibm.json new file mode 100644 index 0000000..fc9f9e3 --- /dev/null +++ b/feed/organisations/ibm.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "IBM", "title": "IBM", "sponsor_level_id": "lead-sponsor", "sponsor_level_desc": "Lead Sponsor", "sponsor_level": "Lead Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/ibm.png", "id": "ibm", "website_url": "http://www.ibm.com/cloud-computing/bluemix/"} \ No newline at end of file diff --git a/feed/organisations/insurance-commission-of-western-australia.json b/feed/organisations/insurance-commission-of-western-australia.json new file mode 100644 index 0000000..27f3186 --- /dev/null +++ b/feed/organisations/insurance-commission-of-western-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Insurance Commission of Western Australia", "title": "Insurance Commission of Western Australia", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/insurance_commission_of_wa.png", "id": "insurance-commission-of-western-australia", "website_url": "https://www.icwa.wa.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/ip-australia.json b/feed/organisations/ip-australia.json new file mode 100644 index 0000000..4b554dd --- /dev/null +++ b/feed/organisations/ip-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "IP Australia", "title": "IP Australia", "sponsor_level_id": "lead-agency", "sponsor_level_desc": "Lead Agency", "sponsor_level": "Lead Agency", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/ip_australia.png", "id": "ip-australia", "website_url": "https://www.ipaustralia.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/jemsoft.json b/feed/organisations/jemsoft.json new file mode 100644 index 0000000..0b7ff26 --- /dev/null +++ b/feed/organisations/jemsoft.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Jemsoft", "title": "Jemsoft", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "jemsoft", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/jemsoft.png", "type": "corporate", "events": ["adelaide"], "website_url": "http://jemsoft.co"} \ No newline at end of file diff --git a/feed/organisations/kytons-bakery.json b/feed/organisations/kytons-bakery.json new file mode 100644 index 0000000..41a50b9 --- /dev/null +++ b/feed/organisations/kytons-bakery.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Kytons Bakery", "title": "Kytons Bakery", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "kytons-bakery", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/kytons.png", "type": "corporate", "events": ["adelaide"], "website_url": "http://www.kytonsbakery.com.au"} \ No newline at end of file diff --git a/feed/organisations/landgate.json b/feed/organisations/landgate.json new file mode 100644 index 0000000..42ad22b --- /dev/null +++ b/feed/organisations/landgate.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "SPUR, Powered by Landgate", "title": "SPUR, Powered by Landgate", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/spur.png", "type": "government", "id": "landgate", "website_url": "https://landgate.wa.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/liferay.json b/feed/organisations/liferay.json new file mode 100644 index 0000000..abd4366 --- /dev/null +++ b/feed/organisations/liferay.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "Liferay", "title": "Liferay", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/liferay.png", "id": "liferay", "website_url": "https://www.liferay.com"} \ No newline at end of file diff --git a/feed/organisations/little-tokyo-two.json b/feed/organisations/little-tokyo-two.json new file mode 100644 index 0000000..fd49f3c --- /dev/null +++ b/feed/organisations/little-tokyo-two.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Little Tokyo Two", "title": "Little Tokyo Two", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "little-tokyo-two", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/little_tokyo_two.png", "type": "community", "events": ["brisbane"], "website_url": "https://www.littletokyotwo.com"} \ No newline at end of file diff --git a/feed/organisations/local-government-spatial-reference-group.json b/feed/organisations/local-government-spatial-reference-group.json new file mode 100644 index 0000000..eab3882 --- /dev/null +++ b/feed/organisations/local-government-spatial-reference-group.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Local Government Spatial Reference Group", "title": "Local Government Spatial Reference Group", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/spatial_reference_group.png", "id": "local-government-spatial-reference-group", "website_url": "https://opencouncildata.org"} \ No newline at end of file diff --git a/feed/organisations/logan-city-council.json b/feed/organisations/logan-city-council.json new file mode 100644 index 0000000..b93addc --- /dev/null +++ b/feed/organisations/logan-city-council.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Logan City Council", "title": "Logan City Council", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/logan_city_council.png", "id": "logan-city-council", "website_url": "http://www.logan.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/main-roads-western-australia.json b/feed/organisations/main-roads-western-australia.json new file mode 100644 index 0000000..6aa5f62 --- /dev/null +++ b/feed/organisations/main-roads-western-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Main Roads Western Australia", "title": "Main Roads Western Australia", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/main_roads_wa.png", "id": "main-roads-western-australia", "website_url": "https://www.mainroads.wa.gov.au/Pages/default.aspx"} \ No newline at end of file diff --git a/feed/organisations/mav-technology.json b/feed/organisations/mav-technology.json new file mode 100644 index 0000000..472e5b8 --- /dev/null +++ b/feed/organisations/mav-technology.json @@ -0,0 +1 @@ +{"sponsor_level_id": "silver", "name": "MAV Technology", "title": "MAV Technology", "jurisdiction": "vic", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/mav_technology.png", "type": "corporate", "id": "mav-technology", "website_url": "http://www.mav.technology"} \ No newline at end of file diff --git a/feed/organisations/microbic-pty.json b/feed/organisations/microbic-pty.json new file mode 100644 index 0000000..5c926dd --- /dev/null +++ b/feed/organisations/microbic-pty.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Microbic PTY", "title": "Microbic PTY", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "microbic-pty", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/edison.png", "type": "corporate", "events": ["port-adelaide-enfield"], "website_url": "https://meetedison.com"} \ No newline at end of file diff --git a/feed/organisations/microsoft-2.json b/feed/organisations/microsoft-2.json new file mode 100644 index 0000000..dbf561f --- /dev/null +++ b/feed/organisations/microsoft-2.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Microsoft", "title": "Microsoft", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "National Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/microsoft.png", "id": "microsoft-2", "website_url": "https://www.microsoft.com/en-au/"} \ No newline at end of file diff --git a/feed/organisations/microsoft-sa.json b/feed/organisations/microsoft-sa.json new file mode 100644 index 0000000..e7691c5 --- /dev/null +++ b/feed/organisations/microsoft-sa.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Microsoft", "title": "Microsoft", "sponsor_level_id": "premier", "sponsor_level_desc": "Premier Sponsors", "sponsor_level": "Premier Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/microsoft.png", "id": "microsoft-sa", "website_url": "https://www.microsoft.com/en-au/"} \ No newline at end of file diff --git a/feed/organisations/microsoft.json b/feed/organisations/microsoft.json new file mode 100644 index 0000000..7e732c9 --- /dev/null +++ b/feed/organisations/microsoft.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Microsoft", "title": "Microsoft", "sponsor_level_id": "premier", "sponsor_level_desc": "Premier Sponsors", "sponsor_level": "Premier Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/microsoft.png", "id": "microsoft", "website_url": "https://www.microsoft.com/en-au/"} \ No newline at end of file diff --git a/feed/organisations/mid-west-development-commission.json b/feed/organisations/mid-west-development-commission.json new file mode 100644 index 0000000..10e6d81 --- /dev/null +++ b/feed/organisations/mid-west-development-commission.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Mid West Development Commission", "title": "Mid West Development Commission", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "mid-west-development-commission", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/midwest_development_commission.png", "type": "government", "events": ["geraldton"], "website_url": "http://www.mwdc.wa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/motor-accident-commission.json b/feed/organisations/motor-accident-commission.json new file mode 100644 index 0000000..3463882 --- /dev/null +++ b/feed/organisations/motor-accident-commission.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Motor Accident Commission", "title": "Motor Accident Commission", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/motor_accident_commission.png", "id": "motor-accident-commission", "website_url": "http://www.mac.sa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/nacc.json b/feed/organisations/nacc.json new file mode 100644 index 0000000..905430a --- /dev/null +++ b/feed/organisations/nacc.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "NACC", "title": "NACC", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "nacc", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/nacc.png", "type": "government", "events": ["geraldton"]} \ No newline at end of file diff --git a/feed/organisations/national-portrait-gallery.json b/feed/organisations/national-portrait-gallery.json new file mode 100644 index 0000000..8aab793 --- /dev/null +++ b/feed/organisations/national-portrait-gallery.json @@ -0,0 +1 @@ +{"name": "National Portrait Gallery", "jurisdiction": "australia", "is_sponsor": false, "type": "Government", "id": "national-portrait-gallery", "website_url": "http://www.portrait.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/ncris-research-data-and-infrastructure-group.json b/feed/organisations/ncris-research-data-and-infrastructure-group.json new file mode 100644 index 0000000..b203fc6 --- /dev/null +++ b/feed/organisations/ncris-research-data-and-infrastructure-group.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "NCRIS Research Data and Infrastructure Group", "title": "NCRIS Research Data and Infrastructure Group", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tern_group.png", "id": "ncris-research-data-and-infrastructure-group"} \ No newline at end of file diff --git a/feed/organisations/netapp.json b/feed/organisations/netapp.json new file mode 100644 index 0000000..3dacb80 --- /dev/null +++ b/feed/organisations/netapp.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Netapp", "title": "Netapp", "sponsor_level_id": "premier", "sponsor_level_desc": "Premier Sponsors", "sponsor_level": "Premier Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/netapp.png", "id": "netapp", "website_url": "http://www.netapp.com/au/"} \ No newline at end of file diff --git a/feed/organisations/newscorp-sa.json b/feed/organisations/newscorp-sa.json new file mode 100644 index 0000000..a3b931f --- /dev/null +++ b/feed/organisations/newscorp-sa.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Newscorp", "title": "Newscorp", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png", "id": "newscorp-sa", "website_url": "http://www.newscorpaustralia.com"} \ No newline at end of file diff --git a/feed/organisations/newscorp-vic.json b/feed/organisations/newscorp-vic.json new file mode 100644 index 0000000..469447e --- /dev/null +++ b/feed/organisations/newscorp-vic.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Newscorp", "title": "Newscorp", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png", "id": "newscorp-vic", "website_url": "http://www.newscorpaustralia.com"} \ No newline at end of file diff --git a/feed/organisations/newscorp-wa.json b/feed/organisations/newscorp-wa.json new file mode 100644 index 0000000..101ea5e --- /dev/null +++ b/feed/organisations/newscorp-wa.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Newscorp", "title": "Newscorp", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/newscorp.png", "id": "newscorp-wa", "website_url": "http://www.newscorpaustralia.com"} \ No newline at end of file diff --git a/feed/organisations/nicta.json b/feed/organisations/nicta.json new file mode 100644 index 0000000..6f5f99d --- /dev/null +++ b/feed/organisations/nicta.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "(Formerly known as NICTA)", "title": "(Formerly known as NICTA)", "sponsor_level_id": "foundation", "sponsor_level_desc": "Foundation Sponsors", "sponsor_level": "Foundation Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/egov_cluster.png", "id": "nicta", "website_url": "http://egovcluster.com.au"} \ No newline at end of file diff --git a/feed/organisations/noosa-council.json b/feed/organisations/noosa-council.json new file mode 100644 index 0000000..51b1651 --- /dev/null +++ b/feed/organisations/noosa-council.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Noosa Council", "title": "Noosa Council", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "noosa-council", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/noosa_council.png", "type": "government", "events": ["sunshine-coast"], "website_url": "http://www.noosa.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/nsw-government.json b/feed/organisations/nsw-government.json new file mode 100644 index 0000000..d4ecea7 --- /dev/null +++ b/feed/organisations/nsw-government.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "NSW Government", "title": "NSW Government", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/nsw_govt.png", "id": "nsw-government", "website_url": "https://www.nsw.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/oakton-digital.json b/feed/organisations/oakton-digital.json new file mode 100644 index 0000000..eb6150c --- /dev/null +++ b/feed/organisations/oakton-digital.json @@ -0,0 +1 @@ +{"jurisdiction": "act", "name": "Oakton Digital", "title": "Oakton Digital", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/oakton_digital.png", "type": "corporate", "id": "oakton-digital", "website_url": "http://www.oakton.com.au"} \ No newline at end of file diff --git a/feed/organisations/open-data-institute-queensland.json b/feed/organisations/open-data-institute-queensland.json new file mode 100644 index 0000000..c4b5e56 --- /dev/null +++ b/feed/organisations/open-data-institute-queensland.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Open Data Institute Queensland", "title": "Open Data Institute Queensland", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/open_data_institute_queensland.png", "id": "open-data-institute-queensland", "website_url": "http://queensland.theodi.org"} \ No newline at end of file diff --git a/feed/organisations/open-local.json b/feed/organisations/open-local.json new file mode 100644 index 0000000..78c97e9 --- /dev/null +++ b/feed/organisations/open-local.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Open Local", "title": "Open Local", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "open-local", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/open_local.png", "type": "community", "events": ["parramatta"], "website_url": "http://www.openlocal.org.au"} \ No newline at end of file diff --git a/feed/organisations/parramatta-city-council.json b/feed/organisations/parramatta-city-council.json new file mode 100644 index 0000000..7e4ab86 --- /dev/null +++ b/feed/organisations/parramatta-city-council.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Parramatta City Council", "title": "Parramatta City Council", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/parramatta_city_council.png", "id": "parramatta-city-council", "website_url": "http://www.parracity.nsw.gov.au"} \ No newline at end of file diff --git a/feed/organisations/pawsey-supercomputing-centre.json b/feed/organisations/pawsey-supercomputing-centre.json new file mode 100644 index 0000000..87982c9 --- /dev/null +++ b/feed/organisations/pawsey-supercomputing-centre.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Pawsey Supercomputing Centre", "title": "Pawsey Supercomputing Centre", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/pawsey_supercomputing_centre.png", "id": "pawsey-supercomputing-centre", "website_url": "https://www.pawsey.org.au"} \ No newline at end of file diff --git a/feed/organisations/podpac-pty-ltd.json b/feed/organisations/podpac-pty-ltd.json new file mode 100644 index 0000000..0d129a3 --- /dev/null +++ b/feed/organisations/podpac-pty-ltd.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Podpac Pty Ltd", "title": "Podpac Pty Ltd", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "podpac-pty-ltd", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/podista.png", "type": "corporate", "events": ["adelaide"], "website_url": "https://podista.com.au"} \ No newline at end of file diff --git a/feed/organisations/psma.json b/feed/organisations/psma.json new file mode 100644 index 0000000..fe7cddd --- /dev/null +++ b/feed/organisations/psma.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "PSMA", "title": "PSMA", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "National Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/psma.png", "id": "psma", "website_url": "https://www.psma.com.au/"} \ No newline at end of file diff --git a/feed/organisations/qld_dept_science_ict_inno.json b/feed/organisations/qld_dept_science_ict_inno.json new file mode 100644 index 0000000..366ad48 --- /dev/null +++ b/feed/organisations/qld_dept_science_ict_inno.json @@ -0,0 +1 @@ +{"name": "Queensland Department of Science, Information Technology and Innovation", "jurisdiction": "qld", "is_sponsor": false, "type": "Government", "id": "qld_dept_science_ict_inno", "website_url": "https://www.qld.gov.au/dsiti"} \ No newline at end of file diff --git a/feed/organisations/queensland-government-2.json b/feed/organisations/queensland-government-2.json new file mode 100644 index 0000000..3cab951 --- /dev/null +++ b/feed/organisations/queensland-government-2.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "Queensland Government", "title": "Queensland Government", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/queensland_government_colour.png", "id": "queensland-government-2", "website_url": "https://www.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/queensland-government.json b/feed/organisations/queensland-government.json new file mode 100644 index 0000000..ffbad83 --- /dev/null +++ b/feed/organisations/queensland-government.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Queensland Government", "title": "Queensland Government", "sponsor_level_id": "naming-rights", "sponsor_level_desc": "State Awards Naming Rights Sponsors", "sponsor_level": "State Awards Naming Rights Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/queensland_government.png", "id": "queensland-government", "website_url": "https://www.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/queensland-university-of-technology.json b/feed/organisations/queensland-university-of-technology.json new file mode 100644 index 0000000..03cae07 --- /dev/null +++ b/feed/organisations/queensland-university-of-technology.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Queensland University of Technology", "title": "Queensland University of Technology", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/qut.png", "id": "queensland-university-of-technology", "website_url": "https://www.qut.edu.au"} \ No newline at end of file diff --git a/feed/organisations/regional-development-australia-sunshine-coast.json b/feed/organisations/regional-development-australia-sunshine-coast.json new file mode 100644 index 0000000..6845c7c --- /dev/null +++ b/feed/organisations/regional-development-australia-sunshine-coast.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Regional Development Australia Sunshine Coast", "title": "Regional Development Australia Sunshine Coast", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "regional-development-australia-sunshine-coast", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/regional-development-australia-sunshine-coast.png", "type": "government", "events": ["sunshine-coast"]} \ No newline at end of file diff --git a/feed/organisations/resource-furniture.json b/feed/organisations/resource-furniture.json new file mode 100644 index 0000000..726df2d --- /dev/null +++ b/feed/organisations/resource-furniture.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Resource Furniture", "title": "Resource Furniture", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "resource-furniture", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/resource_furniture.png", "type": "corporate", "events": ["onkaparinga"], "website_url": "http://www.resourcefurniture.com.au"} \ No newline at end of file diff --git a/feed/organisations/river-city-labs-2.json b/feed/organisations/river-city-labs-2.json new file mode 100644 index 0000000..3ee761a --- /dev/null +++ b/feed/organisations/river-city-labs-2.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "River City Labs", "title": "River City Labs", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/river_city_labs.png", "id": "river-city-labs-2", "website_url": "http://www.rivercitylabs.net"} \ No newline at end of file diff --git a/feed/organisations/river-city-labs.json b/feed/organisations/river-city-labs.json new file mode 100644 index 0000000..e4efcf5 --- /dev/null +++ b/feed/organisations/river-city-labs.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "River City Labs", "title": "River City Labs", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "river-city-labs", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/river_city_labs.png", "type": "community", "events": ["brisbane"], "website_url": "http://www.rivercitylabs.net"} \ No newline at end of file diff --git a/feed/organisations/rockhampton-regional-council.json b/feed/organisations/rockhampton-regional-council.json new file mode 100644 index 0000000..b43c8cc --- /dev/null +++ b/feed/organisations/rockhampton-regional-council.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Rockhampton Regional Council", "title": "Rockhampton Regional Council", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "rockhampton-regional-council", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/rockhampton_regional_council.png", "type": "government", "events": ["rockhampton-maker"], "website_url": "http://www.rockhamptonregion.qld.gov.au/Home"} \ No newline at end of file diff --git a/feed/organisations/sa-department-for-education-and-child-development.json b/feed/organisations/sa-department-for-education-and-child-development.json new file mode 100644 index 0000000..1f89375 --- /dev/null +++ b/feed/organisations/sa-department-for-education-and-child-development.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "SA Department for Education and Child Development", "title": "SA Department for Education and Child Development", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sa_department_for_education_and_child_development.png", "id": "sa-department-for-education-and-child-development", "website_url": "https://www.decd.sa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/sa-department-of-the-premier-and-cabinet.json b/feed/organisations/sa-department-of-the-premier-and-cabinet.json new file mode 100644 index 0000000..5b5b241 --- /dev/null +++ b/feed/organisations/sa-department-of-the-premier-and-cabinet.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "SA Department of the Premier and Cabinet", "title": "SA Department of the Premier and Cabinet", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sa_dept_of_the_premier_and_cabinet.png", "id": "sa-department-of-the-premier-and-cabinet", "website_url": "http://www.dpc.sa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/sa-government-open-state.json b/feed/organisations/sa-government-open-state.json new file mode 100644 index 0000000..c772c64 --- /dev/null +++ b/feed/organisations/sa-government-open-state.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "SA Government Open State", "title": "SA Government Open State", "sponsor_level_id": "red-carpet-awards", "sponsor_level_desc": "Red Carpet Awards Sponsor", "sponsor_level": "Red Carpet Awards Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sa_govt_open_state.png", "id": "sa-government-open-state", "website_url": "https://openstate.com.au"} \ No newline at end of file diff --git a/feed/organisations/salsa-digital.json b/feed/organisations/salsa-digital.json new file mode 100644 index 0000000..1306079 --- /dev/null +++ b/feed/organisations/salsa-digital.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Salsa Digital", "title": "Salsa Digital", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/05/salsa_digital.png", "id": "salsa-digital", "website_url": "http://www.salsadigital.com.au"} \ No newline at end of file diff --git a/feed/organisations/seaford-secondary-college.json b/feed/organisations/seaford-secondary-college.json new file mode 100644 index 0000000..e4b1eed --- /dev/null +++ b/feed/organisations/seaford-secondary-college.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Seaford Secondary College", "title": "Seaford Secondary College", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "seaford-secondary-college", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/seaford_secondary_college.png", "type": "community", "events": ["onkaparinga"], "website_url": "http://www.seafordhs.sa.edu.au"} \ No newline at end of file diff --git a/feed/organisations/sense-t.json b/feed/organisations/sense-t.json new file mode 100644 index 0000000..8eff4f9 --- /dev/null +++ b/feed/organisations/sense-t.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "sense-t", "title": "sense-t", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sense_t.png", "type": "corporate", "id": "sense-t", "website_url": "http://www.sense-t.org.au"} \ No newline at end of file diff --git a/feed/organisations/state-library-of-western-australia.json b/feed/organisations/state-library-of-western-australia.json new file mode 100644 index 0000000..ca450a1 --- /dev/null +++ b/feed/organisations/state-library-of-western-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "State Library of Western Australia", "title": "State Library of Western Australia", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/state_library_wa.png", "id": "state-library-of-western-australia", "website_url": "http://slwa.wa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/stone-chalk.json b/feed/organisations/stone-chalk.json new file mode 100644 index 0000000..ef656db --- /dev/null +++ b/feed/organisations/stone-chalk.json @@ -0,0 +1 @@ +{"jurisdiction": "nsw", "name": "Stone & Chalk", "title": "Stone & Chalk", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/stonechalk.png", "id": "stone-chalk", "website_url": "http://stoneandchalk.com.au/"} \ No newline at end of file diff --git a/feed/organisations/stretton-centre.json b/feed/organisations/stretton-centre.json new file mode 100644 index 0000000..d85fa7b --- /dev/null +++ b/feed/organisations/stretton-centre.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Stretton Centre", "title": "Stretton Centre", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "stretton-centre", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/stretton_centre.png", "type": "community", "events": ["playford"], "website_url": "http://strettoncentre.com.au"} \ No newline at end of file diff --git a/feed/organisations/sunshine-coast-council.json b/feed/organisations/sunshine-coast-council.json new file mode 100644 index 0000000..4615ec9 --- /dev/null +++ b/feed/organisations/sunshine-coast-council.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Sunshine Coast Council", "title": "Sunshine Coast Council", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "sunshine-coast-council", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/sunshine_coast_council.png", "type": "government", "events": ["sunshine-coast"], "website_url": "http://invest.sunshinecoast.qld.gov.au"} \ No newline at end of file diff --git a/feed/organisations/surveying-and-spatial-sciences-institute.json b/feed/organisations/surveying-and-spatial-sciences-institute.json new file mode 100644 index 0000000..7595a2c --- /dev/null +++ b/feed/organisations/surveying-and-spatial-sciences-institute.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Surveying and Spatial Sciences Institute", "title": "Surveying and Spatial Sciences Institute", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/surveying_and_spatial_sciences_institute.png", "id": "surveying-and-spatial-sciences-institute", "website_url": "http://sssi.org.au"} \ No newline at end of file diff --git a/feed/organisations/tasict.json b/feed/organisations/tasict.json new file mode 100644 index 0000000..73024c0 --- /dev/null +++ b/feed/organisations/tasict.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "TasICT", "title": "TasICT", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tasict.png", "id": "tasict", "website_url": "http://www.tasict.com.au"} \ No newline at end of file diff --git a/feed/organisations/tasmanet.json b/feed/organisations/tasmanet.json new file mode 100644 index 0000000..e4e9bdd --- /dev/null +++ b/feed/organisations/tasmanet.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Tasmanet", "title": "Tasmanet", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tasmanet.png", "id": "tasmanet", "website_url": "http://www.tasmanet.com.au"} \ No newline at end of file diff --git a/feed/organisations/tasmanian-department-of-premier-and-cabinet.json b/feed/organisations/tasmanian-department-of-premier-and-cabinet.json new file mode 100644 index 0000000..968b087 --- /dev/null +++ b/feed/organisations/tasmanian-department-of-premier-and-cabinet.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Tasmanian Government", "title": "Tasmanian Government", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tas_govt.png", "id": "tasmanian-department-of-premier-and-cabinet", "website_url": "http://www.dpac.tas.gov.au"} \ No newline at end of file diff --git a/feed/organisations/tatts-group.json b/feed/organisations/tatts-group.json new file mode 100644 index 0000000..dd45398 --- /dev/null +++ b/feed/organisations/tatts-group.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Tatts Group", "title": "Tatts Group", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tatts_group.png", "id": "tatts-group", "website_url": "http://www.tattsgroup.com"} \ No newline at end of file diff --git a/feed/organisations/telstra-store-runaway-bay.json b/feed/organisations/telstra-store-runaway-bay.json new file mode 100644 index 0000000..f0cc2e1 --- /dev/null +++ b/feed/organisations/telstra-store-runaway-bay.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Telstra Store Runaway Bay", "title": "Telstra Store Runaway Bay", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "telstra-store-runaway-bay", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/telstra_store_runaway_bay.png", "type": "corporate", "events": ["gold-coast"], "website_url": "https://www.telstra.com.au"} \ No newline at end of file diff --git a/feed/organisations/telstra-store-seaford.json b/feed/organisations/telstra-store-seaford.json new file mode 100644 index 0000000..4f73400 --- /dev/null +++ b/feed/organisations/telstra-store-seaford.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "Telstra Store Seaford", "title": "Telstra Store Seaford", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "telstra-store-seaford", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/telstra_store_seaford.png", "type": "corporate", "events": ["onkaparinga"], "website_url": "https://www.telstra.com.au"} \ No newline at end of file diff --git a/feed/organisations/telstra.json b/feed/organisations/telstra.json new file mode 100644 index 0000000..a5fe4a4 --- /dev/null +++ b/feed/organisations/telstra.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Telstra", "title": "Telstra", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "telstra", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/telstra.png", "type": "corporate", "events": ["melbourne-open-raster"], "website_url": "https://www.telstra.com.au"} \ No newline at end of file diff --git a/feed/organisations/tern-group.json b/feed/organisations/tern-group.json new file mode 100644 index 0000000..23b0ed2 --- /dev/null +++ b/feed/organisations/tern-group.json @@ -0,0 +1 @@ +{"jurisdiction": "australia", "name": "TERN Group", "title": "TERN Group", "sponsor_level_id": "govt-agency-supporter", "sponsor_level_desc": "National Government Agency Supporters", "sponsor_level": "Government Agency Supporter", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/tern_group.png", "id": "tern-group"} \ No newline at end of file diff --git a/feed/organisations/the-coffeehouse-restaurant-on-bolsover.json b/feed/organisations/the-coffeehouse-restaurant-on-bolsover.json new file mode 100644 index 0000000..f33a673 --- /dev/null +++ b/feed/organisations/the-coffeehouse-restaurant-on-bolsover.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "The Coffeehouse Restaurant on Bolsover", "title": "The Coffeehouse Restaurant on Bolsover", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "the-coffeehouse-restaurant-on-bolsover", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/the_coffeehouse_restaurant_on_bolsover.png", "type": "corporate", "events": ["rockhampton-maker"], "website_url": "https://www.facebook.com/CHRonB"} \ No newline at end of file diff --git a/feed/organisations/the-edge-state-library-of-queensland.json b/feed/organisations/the-edge-state-library-of-queensland.json new file mode 100644 index 0000000..ddbb6b7 --- /dev/null +++ b/feed/organisations/the-edge-state-library-of-queensland.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "The Edge - State Library of Queensland", "title": "The Edge - State Library of Queensland", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/the_edge.png", "id": "the-edge-state-library-of-queensland", "website_url": "http://edgeqld.org.au"} \ No newline at end of file diff --git a/feed/organisations/thespace.json b/feed/organisations/thespace.json new file mode 100644 index 0000000..02c22c4 --- /dev/null +++ b/feed/organisations/thespace.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "theSpace", "title": "theSpace", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/thespace.png", "id": "thespace"} \ No newline at end of file diff --git a/feed/organisations/thoughtworks.json b/feed/organisations/thoughtworks.json new file mode 100644 index 0000000..0ee22c1 --- /dev/null +++ b/feed/organisations/thoughtworks.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Thoughtworks", "title": "Thoughtworks", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "thoughtworks", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/thoughtworks.png", "type": "corporate", "events": ["melbourne"], "website_url": "https://www.thoughtworks.com"} \ No newline at end of file diff --git a/feed/organisations/transport-accident-commission.json b/feed/organisations/transport-accident-commission.json new file mode 100644 index 0000000..78487ca --- /dev/null +++ b/feed/organisations/transport-accident-commission.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Transport Accident Commission", "title": "Transport Accident Commission", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "sponsor_level": "In Kind sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/06/transport_accident_commission.png", "id": "transport-accident-commission", "website_url": "https://www.tac.vic.gov.au"} \ No newline at end of file diff --git a/feed/organisations/uber.json b/feed/organisations/uber.json new file mode 100644 index 0000000..8a62013 --- /dev/null +++ b/feed/organisations/uber.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Uber", "title": "Uber", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "uber", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/uber.png", "type": "corporate", "events": ["gold-coast"], "website_url": "https://www.uber.com/?exp=hp-c"} \ No newline at end of file diff --git a/feed/organisations/unitingcare-west.json b/feed/organisations/unitingcare-west.json new file mode 100644 index 0000000..8a02fe9 --- /dev/null +++ b/feed/organisations/unitingcare-west.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "UnitingCare West", "title": "UnitingCare West", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/uniting_care_west.png", "id": "unitingcare-west", "website_url": "http://www.unitingcarewest.org.au"} \ No newline at end of file diff --git a/feed/organisations/unity-water.json b/feed/organisations/unity-water.json new file mode 100644 index 0000000..8cab5bd --- /dev/null +++ b/feed/organisations/unity-water.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "Unity Water", "title": "Unity Water", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "unity-water", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/unity_water.png", "type": "corporate", "events": ["sunshine-coast"], "website_url": "http://unitywater.com"} \ No newline at end of file diff --git a/feed/organisations/university-of-queensland-business-school.json b/feed/organisations/university-of-queensland-business-school.json new file mode 100644 index 0000000..c07e785 --- /dev/null +++ b/feed/organisations/university-of-queensland-business-school.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "University of Queensland Business School", "title": "University of Queensland Business School", "sponsor_level_id": "silver", "sponsor_level_desc": "Silver Sponsors", "id": "university-of-queensland-business-school", "sponsor_level": "Silver Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/uq_business_school.png", "type": "University", "events": ["brisbane"], "website_url": "http://www.business.uq.edu.au"} \ No newline at end of file diff --git a/feed/organisations/university-of-queensland-itee.json b/feed/organisations/university-of-queensland-itee.json new file mode 100644 index 0000000..6b46e98 --- /dev/null +++ b/feed/organisations/university-of-queensland-itee.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "University of Queensland ITEE", "title": "University of Queensland ITEE", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Event Sponsors", "id": "university-of-queensland-itee", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/uq_shhool_of_information_technology_and_electrical_engineering.png", "type": "University", "events": ["brisbane"], "website_url": "http://www.itee.uq.edu.au"} \ No newline at end of file diff --git a/feed/organisations/university-of-queensland-school-of-information-technology-and-electrical-engineering.json b/feed/organisations/university-of-queensland-school-of-information-technology-and-electrical-engineering.json new file mode 100644 index 0000000..910d8df --- /dev/null +++ b/feed/organisations/university-of-queensland-school-of-information-technology-and-electrical-engineering.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "University of Queensland School of Information Technology and Electrical Engineering", "title": "University of Queensland School of Information Technology and Electrical Engineering", "sponsor_level_id": "in-kind", "sponsor_level_desc": "In-Kind Sponsors", "id": "university-of-queensland-school-of-information-technology-and-electrical-engineering", "sponsor_level": "In Kind Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/uq_shhool_of_information_technology_and_electrical_engineering.png", "type": "University", "events": ["brisbane"], "website_url": "http://www.itee.uq.edu.au"} \ No newline at end of file diff --git a/feed/organisations/university-of-south-australia-innovation-and-collaboration-centre.json b/feed/organisations/university-of-south-australia-innovation-and-collaboration-centre.json new file mode 100644 index 0000000..4afc316 --- /dev/null +++ b/feed/organisations/university-of-south-australia-innovation-and-collaboration-centre.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "University of South Australia Innovation and Collaboration Centre", "title": "University of South Australia Innovation and Collaboration Centre", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "id": "university-of-south-australia-innovation-and-collaboration-centre", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/innovation_and_collaboration_centre.png", "events": ["adelaide"], "website_url": "http://www.unisa.edu.au"} \ No newline at end of file diff --git a/feed/organisations/university-of-south-australia.json b/feed/organisations/university-of-south-australia.json new file mode 100644 index 0000000..1599a52 --- /dev/null +++ b/feed/organisations/university-of-south-australia.json @@ -0,0 +1 @@ +{"jurisdiction": "sa", "name": "University of South Australia", "title": "University of South Australia", "sponsor_level_id": "platinum", "sponsor_level_desc": "Platinum Sponsors", "id": "university-of-south-australia", "sponsor_level": "Platinum Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/university_of_south_australia.png", "type": "corporate", "events": ["adelaide"], "website_url": "https://www.unisa.edu.au"} \ No newline at end of file diff --git a/feed/organisations/university-of-the-sunshine-coast.json b/feed/organisations/university-of-the-sunshine-coast.json new file mode 100644 index 0000000..ae6c31c --- /dev/null +++ b/feed/organisations/university-of-the-sunshine-coast.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "University of the Sunshine Coast", "title": "University of the Sunshine Coast", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/university_of_the_sunshine_coast.png", "id": "university-of-the-sunshine-coast", "website_url": "http://www.usc.edu.au"} \ No newline at end of file diff --git a/feed/organisations/victoria-state-government.json b/feed/organisations/victoria-state-government.json new file mode 100644 index 0000000..27ead0e --- /dev/null +++ b/feed/organisations/victoria-state-government.json @@ -0,0 +1 @@ +{"jurisdiction": "vic", "name": "Victoria State Government", "title": "Victoria State Government", "sponsor_level_id": "naming-rights", "sponsor_level_desc": "State Awards Naming Rights Sponsors", "sponsor_level": "State Awards Naming Rights Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/victoria_state_government.png", "id": "victoria-state-government", "website_url": "https://www.data.vic.gov.au"} \ No newline at end of file diff --git a/feed/organisations/wa-department-of-fisheries.json b/feed/organisations/wa-department-of-fisheries.json new file mode 100644 index 0000000..024583c --- /dev/null +++ b/feed/organisations/wa-department-of-fisheries.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "WA Department of Fisheries", "title": "WA Department of Fisheries", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wa_dept_of_fisheries.png", "id": "wa-department-of-fisheries", "website_url": "http://www.fish.wa.gov.au/Pages/Home.aspx"} \ No newline at end of file diff --git a/feed/organisations/wa-department-of-local-government-and-communities.json b/feed/organisations/wa-department-of-local-government-and-communities.json new file mode 100644 index 0000000..a86bccd --- /dev/null +++ b/feed/organisations/wa-department-of-local-government-and-communities.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "WA Department of Local Government and Communities", "title": "WA Department of Local Government and Communities", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wa_department_of_local_government_and_communities.png", "id": "wa-department-of-local-government-and-communities", "website_url": "https://www.dlgc.wa.gov.au/Pages/default.aspx"} \ No newline at end of file diff --git a/feed/organisations/wa-department-of-the-premier-and-cabinet.json b/feed/organisations/wa-department-of-the-premier-and-cabinet.json new file mode 100644 index 0000000..48f8070 --- /dev/null +++ b/feed/organisations/wa-department-of-the-premier-and-cabinet.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "WA Department of the Premier and Cabinet Office of Science", "title": "WA Department of the Premier and Cabinet Office of Science", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wa_office_of_science.png", "id": "wa-department-of-the-premier-and-cabinet", "website_url": "https://www.dpc.wa.gov.au/Pages/Default.aspx"} \ No newline at end of file diff --git a/feed/organisations/wa-department-of-treasury.json b/feed/organisations/wa-department-of-treasury.json new file mode 100644 index 0000000..658d070 --- /dev/null +++ b/feed/organisations/wa-department-of-treasury.json @@ -0,0 +1 @@ +{"name": "Department of Treasury", "jurisdiction": "wa", "is_sponsor": false, "type": "Government", "id": "wa-department-of-treasury", "website_url": "http://www.treasury.wa.gov.au/"} \ No newline at end of file diff --git a/feed/organisations/wa-housing-authority.json b/feed/organisations/wa-housing-authority.json new file mode 100644 index 0000000..df434c7 --- /dev/null +++ b/feed/organisations/wa-housing-authority.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "WA Housing Authority", "title": "WA Housing Authority", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wa_housing_authority_colour.png", "id": "wa-housing-authority", "website_url": "http://www.housing.wa.gov.au/Pages/default.aspx"} \ No newline at end of file diff --git a/feed/organisations/wa-office-of-the-government-chief-information-officer.json b/feed/organisations/wa-office-of-the-government-chief-information-officer.json new file mode 100644 index 0000000..1618f14 --- /dev/null +++ b/feed/organisations/wa-office-of-the-government-chief-information-officer.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "WA Office of the Government Chief Information Officer", "title": "WA Office of the Government Chief Information Officer", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wa_office_of_the_government_chief_information_officer.png", "id": "wa-office-of-the-government-chief-information-officer", "website_url": "http://gcio.wa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/wa_dept_health.json b/feed/organisations/wa_dept_health.json new file mode 100644 index 0000000..182ed18 --- /dev/null +++ b/feed/organisations/wa_dept_health.json @@ -0,0 +1 @@ +{"name": "Western Australian Department of Health", "jurisdiction": "wa", "is_sponsor": false, "type": "Government", "id": "wa_dept_health", "website_url": "http://ww2.health.wa.gov.au"} \ No newline at end of file diff --git a/feed/organisations/walker-designs.json b/feed/organisations/walker-designs.json new file mode 100644 index 0000000..a8d31ec --- /dev/null +++ b/feed/organisations/walker-designs.json @@ -0,0 +1 @@ +{"jurisdiction": "tas", "name": "Walker Designs", "title": "Walker Designs", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/walker_designs.png", "type": "corporate", "id": "walker-designs", "website_url": "https://walkerdesigns.com.au"} \ No newline at end of file diff --git a/feed/organisations/water-corporation.json b/feed/organisations/water-corporation.json new file mode 100644 index 0000000..f20df49 --- /dev/null +++ b/feed/organisations/water-corporation.json @@ -0,0 +1 @@ +{"jurisdiction": "wa", "name": "Water Corporation of WA", "title": "Water Corporation of WA", "sponsor_level_id": "gold", "sponsor_level_desc": "Gold Sponsors", "sponsor_level": "Gold Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/water_corporation.png", "id": "water-corporation", "website_url": "http://www.watercorporation.com.au"} \ No newline at end of file diff --git a/feed/organisations/wyndham-city-council.json b/feed/organisations/wyndham-city-council.json new file mode 100644 index 0000000..cd9cd1b --- /dev/null +++ b/feed/organisations/wyndham-city-council.json @@ -0,0 +1 @@ +{"sponsor_level_id": "bronze", "name": "Wyndham City Council", "title": "Wyndham City Council", "jurisdiction": "vic", "sponsor_level_desc": "Bronze Sponsors", "id": "wyndham-city-council", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/wyndham_city_council.png", "type": "government", "events": ["wyndham"], "website_url": "https://www.wyndham.vic.gov.au"} \ No newline at end of file diff --git a/feed/organisations/xvt-solutions.json b/feed/organisations/xvt-solutions.json new file mode 100644 index 0000000..e99ac9e --- /dev/null +++ b/feed/organisations/xvt-solutions.json @@ -0,0 +1 @@ +{"jurisdiction": "qld", "name": "XVT Solutions", "title": "XVT Solutions", "sponsor_level_id": "bronze", "sponsor_level_desc": "Bronze Sponsors", "sponsor_level": "Bronze Sponsor", "is_sponsor": true, "logo_url": "https://www.govhack.org/wp-content/uploads/2016/07/xvt__solutions.png", "id": "xvt-solutions", "website_url": "https://www.xvt.com.au"} \ No newline at end of file diff --git a/google158db9921e8bda20.html b/google158db9921e8bda20.html deleted file mode 100644 index f9c4044..0000000 --- a/google158db9921e8bda20.html +++ /dev/null @@ -1 +0,0 @@ -google-site-verification: google158db9921e8bda20.html \ No newline at end of file diff --git a/govhack-science.sublime-project b/govhack-science.sublime-project deleted file mode 100644 index 986e75a..0000000 --- a/govhack-science.sublime-project +++ /dev/null @@ -1,15 +0,0 @@ -{ - "folders": - [ - { - "path": ".", - "name": "Project files", - "folder_exclude_patterns": [], - "file_exclude_patterns": ["*.sublime-workspace"] - } - ], - "settings": - { - "tab_size": 2 - }, -} diff --git a/handbook/503.html b/handbook/503.html new file mode 100644 index 0000000..73073e5 --- /dev/null +++ b/handbook/503.html @@ -0,0 +1,8 @@ +--- +layout: bootstrap +--- + +
    + A wild handbook hasn't appeared +

    The handbook is being hacked together as we speak...

    +
    diff --git a/handbook/_includes/featured_tile.html b/handbook/_includes/featured_tile.html new file mode 100644 index 0000000..b80740d --- /dev/null +++ b/handbook/_includes/featured_tile.html @@ -0,0 +1,34 @@ +{% if include.chapter_slug %} + + {% assign chapter = site.handbookchapters | where: 'slug', include.chapter_slug | first %} + +
    +
    + + {% unless chapter.tile.image == nil %} + + {% endunless %} + +

    {{ chapter.title }}

    + + {% comment %} + ==================================================================== + The auto-gen chapter.excerpt's are pretty bad here, they include the + titles and not much else. So we've implemented either a custom + frontmatter tile excerpt, or else trim the content down to shape + ==================================================================== + {% endcomment %} + {% if chapter.tile.excerpt != nil %} +

    {{ chapter.tile.excerpt }}

    + {% else %} +

    {{ chapter.content | markdownify | strip_html | truncatewords: 22 }}

    + {% endif %} + + {{ chapter.tile.button_label | default: 'Go to page' }} + +
    +
    + +{% endif %} \ No newline at end of file diff --git a/handbook/_includes/firstrun.html b/handbook/_includes/firstrun.html new file mode 100644 index 0000000..0b01b2b --- /dev/null +++ b/handbook/_includes/firstrun.html @@ -0,0 +1,13 @@ +
    +
    +

    Welcome to the Handbook, it looks like this is your first run!

    + +
    + +
    + +
    +
    + \ No newline at end of file diff --git a/handbook/_includes/preferences.html b/handbook/_includes/preferences.html new file mode 100644 index 0000000..040a7ce --- /dev/null +++ b/handbook/_includes/preferences.html @@ -0,0 +1,8 @@ +
    +

    Your preferences

    + + +
    + \ No newline at end of file diff --git a/handbook/feedback.html b/handbook/feedback.html new file mode 100644 index 0000000..8432fcd --- /dev/null +++ b/handbook/feedback.html @@ -0,0 +1,12 @@ +--- +layout: handbook_template_bs +--- + +
    +

    Feedback

    +
    + +

    Event Feedback Form coming soon

    + +
    +
    \ No newline at end of file diff --git a/handbook/help.html b/handbook/help.html new file mode 100644 index 0000000..8c39353 --- /dev/null +++ b/handbook/help.html @@ -0,0 +1,130 @@ +--- +layout: handbook_template_bs +--- + +
    +

    Help and Support

    +
    + +
    +

    At your venue

    +
    +

    Your first point of contact is our event host and their local event team. They will be present and active at the venue!

    + +
    + +

    Mentors

    +
    +

    You can also reach out to data mentors, technical mentors and business mentors. The portal page has a listing of mentors attending your event.

    +

    Additionally you could try the "offline method" (your mileage may vary) where you look around for mentors gracing the floor at your venue (Hosts and event teams will be more than happy to point them out for you).

    +

    Lastly the Slack channel #talk-with-mentors may be interesting to you.

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Mentor TypeWhat you can ask them about
    DataSpecific datasets that they are knowledgeable about; whether or not a particular dataset will work for the idea that you have.
    TechnicalHow to build your ideas, including dashboards, websites, programming, and deploying/hosting your hack.
    BusinessDeveloping concepts and ideas into practical use cases, pitches, and minimum viable products.
    RemoteSome mentors are also happy to be contacted via email or other channel as indicated on their mentor profile page.
    + +
    + +

    Slack channel and community

    +
    +

    Register yourself for GovHackHQ Slack Direct access to GovHackHQ Slack

    +

    There's a link in the top-right of this site. Not only do you get access to the hosts and organisers, but also to the other members of the fantastic GovHack community.

    + +

    Here's how to find your way around our Slack channels

    + +

    In Slack, you can pick which channels to join by clicking on the Channels heading

    +

    Choose a channel in Slack

    + +

    Aside from the General, Random, etc channels, we also have channels for each event, and channels for each topic/data custodian/software/mentor and more. Happy Slacking!

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Channel nameExampleWhat can you expect to find?
    The usual channels#general, #randomHellos and chit chat
    Mentor "speed dating"#talk-with-mentorsAsk mentors online from around Aus/NZ
    #hack-<event-name>#hack-brisbane, #hack-sydney-official, and moreThe channel for your event. Chat to people on your floor!
    #talk-<about-data>#talk-geo-and-maps, #talk-stats, and moreData-themed convos on regional data, or data concepts
    #talk-<about-platforms>#talk-bluemix, #talk-tech, and moreTechy questions welcome here
    Handbook#talk-handbookQuestions or chatter about Handbook
    + +
    + +

    Hackerspace

    +
    +

    The link for Hackerspace 2016 is 2016.hackerspace.govhack.org and will open at 7pm on the Friday of the competition. Read our chatper about submitting to find out what you need to do on Hackerspace.

    +

    If you are experiencing trouble with ave you asked your hosts yet? It's quite possible that another competitor had the same problem resolved for them!

    + + + +
    + +
    + +
    +
    + + \ No newline at end of file diff --git a/handbook/index.html b/handbook/index.html new file mode 100644 index 0000000..63d6bbe --- /dev/null +++ b/handbook/index.html @@ -0,0 +1,271 @@ +--- +layout: handbook_template_bs +chrono_sections: + - category_verb: preparing + heading: Preparing before the event + - category_verb: competing + heading: Competing for glory + - category_verb: creating + heading: Creating your hack + - category_verb: submitting + heading: Submitting your project +target_audiences: + - category_name: comp + title: For all competitors + - category_name: toolkit + title: For hackers +--- + +
    + + {% comment %} + ================================================== + Is this the first visit? If so, display a form and + capture some preferences from them e.g. + + First hackathon? + + Which venue? + + Menu display fashion (chrono or functional?) + ================================================== + {% endcomment %} +
    + + + +
    +

    GovHack Participant Handbook and Hacker Toolkit

    +
    + +
    +

    Welcome to our 2016 Handbook. We hope you enjoy your hack!

    +
    From the GovHack Global Operations Team, State Managers and Local Event Teams
    +
    + +
    + +

    Featured content

    +
    +
    +
    +
    +
    + +
    +

    Launch Video 2016

    +

    In case you missed it

    +
    +
    + {% include_relative _includes/featured_tile.html chapter_slug='competition_rules_2016' %} + {% include_relative _includes/featured_tile.html chapter_slug='event_roadmap' %} + {% include_relative _includes/featured_tile.html chapter_slug='what_data_do_i_use' %} + {% include_relative _includes/featured_tile.html chapter_slug='judging_criteria' %} +
    +
    + {% include_relative _includes/featured_tile.html chapter_slug='ibm_bluemix' %} + {% include_relative _includes/featured_tile.html chapter_slug='microsoft_azure_free_passes' %} + {% include_relative _includes/featured_tile.html chapter_slug='aws_credits' %} +
    +
    + +
    + {% include_relative _includes/firstrun.html %} + {% include_relative _includes/preferences.html %} +
    +
    + + {% comment %} + ================================================== + Event info section! + ================================================== + {% endcomment %} +
    +
    +
    +
    +

    Select your event

    +
    +
    + Set your event +
    You can select your current GovHack event location. Otherwise, here's a list of all our venues.
    +
    +
    +
    + {% for loc in site.locations %} + {% unless loc.jurisdiction == 'nz' %} + + {% endunless %} + {% endfor %} +
    +
    +
    +
    +

    Your local event

    +
    +
    +
    + +
    + + {% comment %} + ================================================== + Print out all the sections that correspond to the + chronological menu + Do a lookahead first, check that there are indeed + articles for that chapter otherwise don't bother + ================================================== + {% endcomment %} + {% for section in page.chrono_sections %} +
    +
    +

    {{ section.heading }}

    +
    + +
    +
    + {% for aud in page.target_audiences %} + {% assign counter = 0 %} + {% for article in site.handbookchapters %} + {% if article.categories contains aud.category_name and article.tags contains section.category_verb %} + {% assign counter = counter | plus:1 %} + {% endif %} + {% endfor %} + {% unless counter == 0 %} +
    +
    +
    + +

    {{ aud.title }}

    +
    + +
      + {% for article in site.handbookchapters %} + {% if article.categories contains aud.category_name and article.tags contains section.category_verb %} +
    • +

      {{ article.title }}

      + {{ article.content | markdownify | strip_html | truncatewords: 22 }} +
    • + {% endif %} + {% endfor %} +
    +
    +
    + {% endunless %} + {% endfor %} +
    +
    +
    + {% endfor %} + + {% comment %} + ================================================== + A list of all handbook + toolkit pages + ================================================== + {% endcomment %} +
    +
    +

    Participant Handbook Chapters and Toolkit Guides

    +
    + +
    +
    + {% for aud in page.target_audiences %} + {% assign counter = 0 %} + {% for article in site.handbookchapters %} + {% if article.categories contains aud.category_name %} + {% assign counter = counter | plus:1 %} + {% endif %} + {% endfor %} + {% unless counter == 0 %} +
    +
    +
    +

    {{ aud.title }}

    +
    + +
      + {% for article in site.handbookchapters %} + {% if article.categories contains aud.category_name %} +
    • +

      {{ article.title }}

      + {{ article.content | strip_html | truncatewords: 22 }} +
    • + {% endif %} + {% endfor %} +
    +
    +
    + {% endunless %} + {% endfor %} +
    +
    + + +
    + +
    + + \ No newline at end of file diff --git a/handbook/prefs.html b/handbook/prefs.html new file mode 100644 index 0000000..d98e047 --- /dev/null +++ b/handbook/prefs.html @@ -0,0 +1,107 @@ +--- +layout: handbook_template_bs +--- + +
    +

    Your preferences

    +
    + +
    +
    Selected GovHack event
    +
    + + + +
    +
    +
    +
    Viewing preferences
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    + + + \ No newline at end of file diff --git a/index.html b/index.html index 8951bf4..833325a 100644 --- a/index.html +++ b/index.html @@ -1,218 +1,180 @@ --- -layout: default +layout: bootstrap +no_major_sponsors: true --- -
    -
    -
    -

    GovHack | celebrating science

    + +
    +
    + +
    +
    +
    + {% if site.collections.prizes.enabled == true %} + + {% endif %} + + + + + + + + +
    +
    +
    +
    + {% if site.cfg.has_hackerspace == true %} + + {% endif %} + {% if site.collections.datasets.enabled == true %} + + {% endif %} +
    +
    + +
    -
    -
    -

    CSIRO and Geoscience Australia are excited to be sponsoring GovHack 2015 as data providers and as National Agency Supporters. As two of the largest producers of national-scale, open science data in Australia we're keen to see what contestants can mash out of our huge variety of datasets.

    -

    We're also very excited to be offering prizes and bounties in the "Celebrating Science" category - we'll post these once the hack starts on Friday July 3 so we don't spoil the GovHack team's suprises.

    -

    Here we've put together a little collection of sciency resources and ideas to get you started. Many of our datasets are available through national science portals, most of which allow you to search for data semantically or spatially. Many of the datasets here have counterparts both in Australia and NZ, and we've also included some public data from the Crown Research Institutes (the NZ equivalent of the CSIRO). You can see an overview and search through all the dataset listings here.

    -
    -
    -
    - -
    -
    -
    -

    A selection of datasets & ideas

    -
    -
    - {% for post in site.posts limit:25 %} -
    -
    {{ post.title }}
    - {% if post.photo_url %} -
    - {% else %} - - - {{ post.tags | array_to_sentence_string }} - - {% if post.description %} - {{ post.description | strip_html }} - {% else %} - {{ post.excerpt | strip_html }} - {% endif %} - {% endif %} -
    -
    {% endfor %} -
    -
    -

    Need more information?

    -

    Are you a competitor in Govhack 2015? We'll have data mentors from GA and CSIRO available for the duration of the weekend to answer your questions, help you with project ideas and with finding any extra data you might need. The GA mentors will be at the Canberra event, and the CSIRO guys will be in Perth, but we'll also watch the GovHack Hackerspace forum for your questions, and we can all be contacted online.

    -

    - - - - - - - - - - - - -
    Mentors from the CSIRO
    -
    -
    -
    Jess Robertson
    - I’m a geologist/physicist/data scientist at the CSIRO. I work on a range of science projects across the organisation, generally using geoscience and geospatial data with machine learning and data analysis to improve exploration and production strategies for the minerals and mets sector. As well as science-y things, you can ask me about webservices, maps and geospatial data. Python is my poison of choice. Ping me on twitter @jesserobertson, or send me an email: jesse.robertson@csiro.au. -
    -
    -
    -
    Jens Klump
    - I’m the CSIRO Science Leader for Earth Science Informatics. I'm interested in data driven science, including simulation, remotely operated instruments, and high performance and cloud computing. I also work with organizations like ANDS on long-term preservation of research data, and I can help you find some of the more interesting datasets in the Research Data Australia and CSIRO data archives. I'm on twitter @snet_jklump, or send me an email: jens.klump@csiro.au. -
    -

    -

    - - - - - - - - - - - - - - - - - - - - -
    Mentors from Geoscience Australia
    -
    -
    -
    Kristin Milton
    - I can tell you how to use web mapping services in your apps and visualisations, or any general geo geekery. I can provide advice on interacting with OGC web services, catalogue services and how to find other GA data you might want to use. I can also get you started using the GA landsat services. Contact me via Google Plus at +KristinMilton. -
    -
    -
    -
    Norman Mueller
    - I analyse satellite imagery to understand the surface of the earth and how it is changing. My main focus is surface water (rivers, lakes) and flooding. I also do a lot of work responding to natural disasters using satellite imagery. You can talk to me about the Water Observations from Space (WOfS) dataset, what it shows, how it was made, what its limitations are and its applications. Contact me via email at nmgis@braidweb.net.au. -
    -
    -
    -
    Frank Fu
    - I develop web applications which provide interfaces for Australian community to access to various geoscience datasets. You can talk to me about object-oriented software design and development, web application frameworks, Spring/JPA and AngularJS, etc. I have broad experience in programming using Java, C, Python and Shell script, etc. Contact me via email at frankfu03@hotmail.com. -
    - -
    Mehra Jagdish
    - I am GA's GovHack coordinator. Contact me via email at Jagdish.Mehra@ga.gov.au or via phone on 6249 9059. -
    -

    -

    Are you a data mentor for GovHack and have some stuff to contribute? Please feel free to submit a pull request to the github repo or just flick me an email with the relevant details at jesse.robertson@csiro.au.

    -
    -
    +
    + + +
    +
    +
    +

    +

    Welcome to GovHack 2017!

    +

    +
    -
    - +{% include sponsor_block.bs.html sponsor_level="national" jurisdiction_gid="australia" jurisdiction_name="National" %} diff --git a/jurisdictions.html b/jurisdictions.html new file mode 100644 index 0000000..dd2d84d --- /dev/null +++ b/jurisdictions.html @@ -0,0 +1,17 @@ +--- +layout: bootstrap +title: Jurisdictions +--- + +
    +
    + +
    + {% include jurisdiction_cards.bs.html %} +
    +
    +
    \ No newline at end of file diff --git a/locations.html b/locations.html new file mode 100644 index 0000000..0ac715f --- /dev/null +++ b/locations.html @@ -0,0 +1,32 @@ +--- +layout: bootstrap +title: Locations +--- + +
    +
    + +
    + {% for jurisdiction in site.jurisdictions %} + {% assign location_ids = "" %} + {% for location in site.locations %} + {% if location.jurisdiction == jurisdiction.gid %} + {% assign location_ids = location_ids | append: location.gid %} + {% assign location_ids = location_ids | append: "," %} + {% endif %} + {% endfor %} + + {% unless location_ids == "" %} +

    {{ jurisdiction.name }}

    + + {% assign location_ids_list = location_ids | lstrip | split: "," %} + {% include location_cards.bs.html location_ids=location_ids_list %} + {% endunless %} + {% endfor %} +
    +
    +
    \ No newline at end of file diff --git a/mentors.html b/mentors.html new file mode 100644 index 0000000..9e388bd --- /dev/null +++ b/mentors.html @@ -0,0 +1,30 @@ +--- +layout: bootstrap +title: Mentors +#sections: +# cta: +# label: Register as a mentor +# href: https://govhack.formstack.com/forms/mentors +# target: _blank +--- + + +
    +
    +
    +
    +

    Mentors

    +
    +
    +
    + + {% if site.mentors.size == 0 %} +

    We'll be making information about our awesome crew of mentors available soon. + Watch this space!

    + {% else %} + {% assign mentors_by_jurisdn = site.mentors | group_by:"jurisdiction" %} + {% include mentor_card_by_jurisdiction.bs.html mentors_by_jurisdn=mentors_by_jurisdn %} + {% endif %} +
    +
    +
    diff --git a/organisations_all.html b/organisations_all.html new file mode 100644 index 0000000..be6f5d5 --- /dev/null +++ b/organisations_all.html @@ -0,0 +1,11 @@ +--- +layout: bootstrap +title: All Organisations +--- + +{% if site.organisations.size > 0 %} + {% for sponsor in site.organisations %} +

    {{ sponsor.name }}

    + + {% endfor %} +{% endif %} \ No newline at end of file diff --git a/pages/.DS_Store b/pages/.DS_Store new file mode 100644 index 0000000..1815eaa Binary files /dev/null and b/pages/.DS_Store differ diff --git a/prizes.html b/prizes.html new file mode 100644 index 0000000..df355fb --- /dev/null +++ b/prizes.html @@ -0,0 +1,179 @@ +--- +layout: bootstrap +title: Prizes +--- + + + +
    +
    + +
    + {% if site.collections.prizes.enabled == false %} +

    Prizes aren't released until GovHack begins at 7pm, Friday the 29th July 2016, at your local event.

    + {% endif %} +
    +
    +
    + +{% if site.collections.prizes.enabled == true %} + +
    +
    +
    +
    +

    International Prizes

    +

    Prizes that everyone across Australia and New Zealand can compete for!

    +
    +
    +
    + {% assign international_prizes = site.prizes | where: "jurisdiction", "international" %} + {% include prize_cards.bs.html prizes=international_prizes %} +
    +
    +
    + + +
    +
    +
    +
    +

    Major Category Prizes

    +

    Prizes that everyone in Australia can compete for!

    +
    +
    +
    + {% assign major_cat_prizes = site.prizes | where: "jurisdiction", "australia" | where: "type", "Major" %} + {% include prize_cards.bs.html prizes=major_cat_prizes %} +
    +
    +
    + + +
    +
    +
    +
    +

    Bounty Prizes

    +

    Prizes that everyone in Australia can compete for!

    +
    +
    +
    + {% assign bounty_prizes = site.prizes | where: "jurisdiction", "australia" | where: "type", "Bounty" %} + {% include prize_cards.bs.html prizes=bounty_prizes %} +
    +
    +
    + + +
    +
    +
    +
    +

    Team Prizes

    +

    Prizes that everyone in Australia can compete for!

    +
    +
    +
    + {% assign team_prizes = site.prizes | where: "jurisdiction", "australia" | where: "type", "Team" %} + {% include prize_cards.bs.html prizes=team_prizes %} +
    +
    +
    + + +
    +
    +
    +
    +

    Regional Prizes

    +
    +
    +
    + {% for jurisdiction in site.jurisdictions %} + {% unless jurisdiction.gid == "international" or jurisdiction.gid == "australia" or jurisdiction.gid == "nz" or jurisdiction.gid == "nt" %} + {% comment %} + {{ jurisdiction.name }} +
    + {% endcomment %} + +
    +

    {{ jurisdiction.name }}

    + {% if jurisdiction.gid == "act" %} +

    Prizes that all participants in the {{ jurisdiction.name }} can compete for!

    + {% else %} +

    Prizes that all participants in {{ jurisdiction.name }} can compete for!

    + {% endif %} + + {% assign events = site.locations | where: "jurisdiction", jurisdiction.gid %} + {% assign jurisdiction_prizes = site.prizes | where: "jurisdiction", jurisdiction.gid %} + {% assign jurisdiction_prize_ids = jurisdiction_prizes | where: "category", "state" | map: "gid" %} + +
    + {% include prize_cards.bs.html prize_ids=jurisdiction_prize_ids %} +
    + + {% for event in events %} + {% assign local_prize_ids = "" %} + {% assign jurisdiction_prize_ids = "" %} + + {% for prize in jurisdiction_prizes %} + {% if prize.events contains event.gid %} + {% assign local_prize_ids = local_prize_ids | append: prize.gid %} + {% assign local_prize_ids = local_prize_ids | append: "," %} + {% endif %} + {% endfor %} + + {% if local_prize_ids != "" %} +
    +

    {{ event.name }}

    +

    Prizes that only participants at {{ event.name }} can compete for!

    + + {% assign local_prize_ids_list = local_prize_ids | lstrip | split: "," %} + {% include prize_cards.bs.html prize_ids=local_prize_ids_list %} +
    + {% endif %} + {% endfor %} +
    + {% endunless %} + {% endfor %} +
    +
    +
    + + +
    +
    +
    +
    +

    New Zealand Major Prizes

    +

    Prizes that everyone in New Zealand can compete for!

    +
    +
    +
    + {% assign nz_prizes = site.prizes | where: "jurisdiction", "nz" | where: "type", "Major" %} + {% include prize_cards.bs.html prizes=nz_prizes %} +
    +
    +
    + + +
    +
    +
    +
    +

    New Zealand Bounty Prizes

    +

    Prizes that everyone in New Zealand can compete for!

    +
    +
    +
    + {% assign nz_prizes = site.prizes | where: "jurisdiction", "nz" | where: "type", "Bounty" %} + {% include prize_cards.bs.html prizes=nz_prizes %} +
    +
    +
    +{% endif %} \ No newline at end of file diff --git a/projects.html b/projects.html new file mode 100644 index 0000000..d59ec46 --- /dev/null +++ b/projects.html @@ -0,0 +1,36 @@ +--- +layout: bootstrap +title: Projects +--- + + +
    +
    +
    +
    +

    Projects

    +
    +
    +
    + {% for project in site.projects %} + {% assign image_url = project.image_url | default: 'https://assets.govhack.org/img/logo/govhack-original-transp.png' %} + {% assign count = count | plus: 1 %} + {% assign chunk = count | divided_by: 20 | ceil %} + +
    + {{ project.project_title | truncatewords: 6 }}
    + {{ project.team_name | truncate: 30 }}
    + {% assign location = site.locations | where: "gid", project.event | first %}{{ location.name }}, {{ location.jurisdiction | upcase }} +
    +
    + {% endfor %} +
    +
    +
    + \ No newline at end of file diff --git a/python/common.py b/python/common.py new file mode 100644 index 0000000..254209e --- /dev/null +++ b/python/common.py @@ -0,0 +1,55 @@ +from __future__ import print_function +import httplib2 +import os + +from apiclient import discovery +from oauth2client import client +from oauth2client import tools +from oauth2client.file import Storage + +try: + import argparse + flags = argparse.ArgumentParser(parents=[tools.argparser]).parse_args() +except ImportError: + flags = None + +# If modifying these scopes, delete your previously saved credentials +# at ~/.credentials/sheets.googleapis.com-python-quickstart.json +SCOPES = 'https://www.googleapis.com/auth/spreadsheets.readonly' +CLIENT_SECRET_FILE = 'google_sheets_client_secret.json' +APPLICATION_NAME = 'Google Sheets API Python Quickstart' + + +def get_credentials(): + """Gets valid user credentials from storage. + + If nothing has been stored, or if the stored credentials are invalid, + the OAuth2 flow is completed to obtain the new credentials. + + Returns: + Credentials, the obtained credential. + """ + home_dir = os.path.expanduser('~') + credential_dir = os.path.join(home_dir, '.credentials') + if not os.path.exists(credential_dir): + os.makedirs(credential_dir) + credential_path = os.path.join(credential_dir, 'sheets.googleapis.com-python-quickstart.json') + + store = Storage(credential_path) + credentials = store.get() + if not credentials or credentials.invalid: + flow = client.flow_from_clientsecrets(CLIENT_SECRET_FILE, SCOPES) + flow.user_agent = APPLICATION_NAME + if flags: + credentials = tools.run_flow(flow, store, flags) + else: # Needed only for compatibility with Python 2.6 + credentials = tools.run(flow, store) + print('Storing credentials to ' + credential_path) + return credentials + + +def get_service(): + credentials = get_credentials() + http = credentials.authorize(httplib2.Http()) + discoveryUrl = 'https://sheets.googleapis.com/$discovery/rest?version=v4' + return discovery.build('sheets', 'v4', http=http, discoveryServiceUrl=discoveryUrl) diff --git a/python/datasets.py b/python/datasets.py new file mode 100644 index 0000000..e0e850f --- /dev/null +++ b/python/datasets.py @@ -0,0 +1,349 @@ +import fnmatch +import codecs +import tablib +import os +import requests +import urlparse +import shutil +import frontmatter +import yaml +import io +import ckanapi +import urlparse + +class CKANLookup(object): + """ + """ + + def __init__(self, dataset_url=""): + self.dataset_url = dataset_url + self.cache = {} + + def set_url(self, dataset_url): + self.dataset_url = dataset_url + + def get_ckan_url(self): + idx = self.dataset_url.find("dataset") + if idx != -1: + api_root_url = self.dataset_url[0:idx] + else: + api_root_url = urlparse.urljoin(self.dataset_url, "/") + + if api_root_url.endswith("/") == True: + api_root_url = api_root_url[:-1] + + if api_root_url.startswith("http") == False: + # print "Prepend" + api_root_url = "http://" + api_root_url + + return api_root_url + + def is_ckan_url(self): + # print "'%s'" % (self.dataset_url) + if self.dataset_url == "": + return False + + if self.dataset_url in self.cache: + return self.cache[self.dataset_url] + + if self.dataset_url.find("/dataset/") == -1: + self.cache[self.dataset_url] = False + return False + + api_root_url = self.get_ckan_url() + "/api/3" + # print "'%s'" % (api_root_url) + r = requests.get(api_root_url) + if r.status_code == 200: + self.cache[self.dataset_url] = True + return True + else: + self.cache[self.dataset_url] = False + return False + + def is_ckan_dataset_url(self): + if self.is_ckan_url(): + parse_object = urlparse.urlsplit(self.dataset_url) + return True if parse_object.path.find("/dataset/") != -1 else False + + def get_endpoint(self): + api_root_url = self.get_ckan_url() + # print "api_root_url: %s" % (api_root_url) + return ckanapi.RemoteCKAN(api_root_url, user_agent="GovHackCKANService/1.0") + + def get_package_name(self): + parse_object = urlparse.urlsplit(self.dataset_url) + idx = parse_object.path.find("/dataset/") + if idx != -1: + return parse_object.path[idx + len("/dataset/"):] + else: + raise ValueError("Could not determine CKAN package name: %s" % (self.dataset_url)) + + def get_package(self): + endpoint = self.get_endpoint() + package_name = self.get_package_name() + # print package_name + package = endpoint.action.package_show(id=package_name) + return package + + +# http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python +def chunks(l, n): + """Yield successive n-sized chunks from l.""" + for i in xrange(0, len(l), n): + yield l[i:i+n] + +# Config +csvfile = "python/data/datasets/datasets_formstack.csv" +org_lookup = "python/data/datasets/org_lookup.csv" +event_lookup = "python/data/datasets/event_lookup.csv" +datasetsdir = "_datasets/2016/" +organisationsdir = "_organisations/" +eventsdir = "_locations/" +tmpdir = "python/tmp/" +excerpt_separator = "" + +# Init +if not os.path.exists(tmpdir): + os.makedirs(tmpdir) + +# For seeing if the dataset's organisations exists +organisation_names = [] +for root, dirnames, filenames in os.walk(organisationsdir): + for filename in fnmatch.filter(filenames, "*.md"): + organisation_names.append(filename.split(".")[0]) + +# For matching datasets to events +event_names = [] +event_md_files = {} +for root, dirnames, filenames in os.walk(eventsdir): + for filename in fnmatch.filter(filenames, "*.md"): + event_name = filename.split(".")[0] + event_names.append(event_name) + event_md_files[event_name] = os.path.join(root, filename) + +# For seeing if the dataset's gid is in use +# @TODO Make this work across years +dataset_gids = [] +for root, dirnames, filenames in os.walk(datasetsdir): + for filename in fnmatch.filter(filenames, "*.md"): + dataset_gids.append(filename.split(".")[0]) + +# For org lookup to workaround submissions using non-standard org names +with codecs.open(org_lookup, "rb", encoding="iso-8859-1") as f: + csv = f.read().encode("utf-8") + +org_lookup = tablib.Dataset() +org_lookup.csv = csv + +org_lookup_table = {} +for row in org_lookup: + org_lookup_table.update({row[0].lower(): row[1]}) + +# For event lookup to workaround submissions using non-standard event names +with codecs.open(event_lookup, "rb", encoding="iso-8859-1") as f: + csv = f.read().encode("utf-8") + +event_lookup = tablib.Dataset() +event_lookup.csv = csv + +event_lookup_table = {} +for row in event_lookup: + event_lookup_table.update({row[0]: row[1]}) + +# For deprecated events +deprecated_events = ["Manly Northern Beaches", "Newcastle"] + +# Open form submissions +with codecs.open(csvfile, "rb", encoding="iso-8859-1") as f: + csv = f.read().encode("utf-8") + +data = tablib.Dataset() +data.csv = csv +new_datasets_count = 0 +ckan = CKANLookup() +start_row = 71 + +for row in data[start_row:]: + # Skip empty rows populated by the export process + if row[0] == "": + continue + + dataset_stub = {"excerpt_separator": excerpt_separator} + event_locations = [] + found_event = False + + submission = { + "Time": row[0], + "Name (First)": row[1], + "Name (Last)": row[2], + "Email": row[3], + "Agency/Organisation": row[4], + "Jurisdiction": row[5], + "Region": row[6], + "GovHack Events": row[7], + "GovHack ACT Events": row[8], + "GovHack NSW Events": row[9], + "GovHack VIC Events": row[10], + "GovHack NT Events": row[11], + "GovHack QLD Events": row[12], + "GovHack SA Events": row[13], + "GovHack TAS Events": row[14], + "GovHack WA Events": row[15], + "Number of datasets": row[16] + } + + print "%s %s" % (submission["Name (First)"], submission["Name (Last)"]) + + # Requirement: Find a valid organisation to link this dataset to + organisation_gid = submission["Agency/Organisation"].lower().strip().replace(" ", "-").replace(",", "") + if organisation_gid in organisation_names: + # print "FOUND %s" % (organisation_gid) + pass + elif submission["Agency/Organisation"].lower() in org_lookup_table: + organisation_gid = org_lookup_table[submission["Agency/Organisation"].lower()] + # print "FOUND %s" % (organisation_gid) + else: + print "WARNING: Could not resolve organisation: %s" % (submission["Agency/Organisation"]) + print organisation_gid + organisation_gid = submission["Agency/Organisation"].lower().strip().replace(" ", "-").replace(",", "") + # print "SKIPPING!" + # continue + + # Process the events to link these datasets to + # if submission["Jurisdiction"] == "Australian Government": + if submission["Region"] == "National": + dataset_stub["jurisdiction"] = "australia" + else: + dataset_stub["jurisdiction"] = submission["Region"].lower() + events = ["ACT", "NSW", "NT", "QLD", "SA", "TAS", "VIC", "WA"] + + for event in events: + col_name = "GovHack %s Events" % (event) + if len(submission[col_name]) > 0: + for event_name in submission[col_name].split("|"): + if event_name in deprecated_events: + # print "NOTICE: Skipping deprecated event %s" % (event_name) + continue + + if event_name not in event_lookup_table: + event_gid = event_name.lower().replace(" ", "-").replace("-official-event", "") + else: + event_gid = event_lookup_table[event_name] + + if event_gid in event_names: + # print "Attending Event: %s" % (event_gid) + + post = frontmatter.load(event_md_files[event_gid]) + event_locations.append(post.metadata["gid"]) + + if post.metadata["gid"] != event_gid: + print "WARNING: Event .md file does not match event gid. %s, %s" % (event_gid, post.metadata["gid"]) + else: + print "WARNING: Could not find event '%s' in list of events." % (event_gid) + + break + + if(len(event_locations) > 0): + found_event = True + + if found_event == False: + print "WARNING: Events not provided. Skipping" + continue + else: + dataset_stub["events"] = event_locations + + print + # print dataset_stub + + # Magic - The dataset info starts at position 16, and the last 5 fields are irrelevant + num_datasets = int(1 if submission["Number of datasets"] == "" else int(submission["Number of datasets"])) + print "# Number of Datasets: %s" % (num_datasets) + print + + for key, item in enumerate(chunks(row[17:-5], 4)): + # print "Key: %s" % (key) + if key >= num_datasets: + break + + dataset_url = item[0] + dataset_name = item[1].strip() + dataset_description = item[2].replace("|", "\n").strip() + dataset_mentors = item[3].strip() + + # Let's use the CKAN API to pull extra info about the dataset + if dataset_name == "": + ckan.set_url(dataset_url) + if ckan.is_ckan_url() and ckan.is_ckan_dataset_url(): + package = ckan.get_package() + dataset_name = package["title"].strip() + dataset_description = package["notes"].strip() + else: + print dataset_name + print "WARNING: There's no dataset name and this doesn't look like CKAN. Is this a dataset?" + print dataset_url + print "SKIPPING" + continue + + # Description to excerpt + # (For some reason automatic excerpt generation failed.) + dataset_description = dataset_description.strip() + idx = dataset_description.find("\n") + if idx != -1: + dataset_excerpt = dataset_description[0:idx].strip() + dataset_description_remain = dataset_description[idx:].strip() + dataset_description = dataset_excerpt + "\n\n" + excerpt_separator + "\n\n" + dataset_description_remain + + # Assign our dataset a globally unique id + dataset_gid = dataset_name.lower().replace(" ", "-").replace("'", "") + + dataset_md_dir = os.path.join(datasetsdir, dataset_stub["jurisdiction"], organisation_gid) + dataset_md_file = os.path.join(dataset_md_dir, "%s.md" % (dataset_gid)) + + # Create records for datasets who haven't been processed yet + # print dataset_md_file + if not os.path.exists(dataset_md_file): + if dataset_gid in dataset_gids: + raise ValueError("WARNING: GID '%s' is already in use elsewhere." % (dataset_gid)) + else: + dataset_gids.append(dataset_gid) + + new_datasets_count += 1 + print "## Processing Dataset %s" % (key) + print dataset_name + + dataset = dataset_stub.copy() + dataset["gid"] = dataset_gid + dataset["name"] = dataset["title"] = dataset_name + dataset["dataset_url"] = dataset_url + dataset["organisation"] = organisation_gid + if len(event_locations) > 0: + dataset["events"] = event_locations + + if not os.path.exists(dataset_md_dir): + os.makedirs(dataset_md_dir) + + # continue + with io.open(dataset_md_file, "w", encoding="utf-8") as f: + f.write(u'---\n') + f.write(unicode(yaml.safe_dump(dataset, width=200, default_flow_style=False, encoding="utf-8", allow_unicode=True), "utf-8")) + f.write(u'---\n') + f.write(u'\n') + f.write(dataset_description.rstrip()) + + print + print "---" + print + continue + +if new_datasets_count == 0: + print "No new datasets were found!" + print "Submissions in CSV: %s" % (len(data.dict)) +else: + print "> Fin" + print "> %s datasets were created" % (new_datasets_count) + print + print "NEXT STEPS:" + print " 1. Review the log for any WARNINGS you can resolve." + print " 2. Assign mentors to each dataset." + print " 3. Load datasets.html on your local version of Jekyll and validate that the dataset profiles look OK." + print " 4. Commit!" \ No newline at end of file diff --git a/python/frontmatter-to-json.py b/python/frontmatter-to-json.py new file mode 100644 index 0000000..e1b2c0d --- /dev/null +++ b/python/frontmatter-to-json.py @@ -0,0 +1,63 @@ +import frontmatter +import json +import os +import markdown2 + +# dirs = ["_dataportals", "_datasets", "_fields", "_jurisdictions", "_locations", "_mentors", "_organisations", "_themes", "_prizes"] +dirs = ["_jurisdictions", "_locations", "_organisations", "_prizes"] +basepath, pythondir = os.path.split(os.path.dirname(os.path.realpath(__file__))) +portalurl = "http://portal.govhack.org" + +for dir in dirs: + print "# Processing %s" % (dir[1:]) + path = os.path.join(basepath, dir) + jsonbasepath = os.path.join(basepath, "feed", dir[1:]) # Trim the leading underscore + jsonall = { + "_locations": [], + "_prizes": [] + } + + if not os.path.exists(jsonbasepath): + print "Initialising directory %s" % (jsonbasepath) + os.makedirs(jsonbasepath) + + for dirpath, dirnames, files in os.walk(path): + for f in files: + if f.endswith(".md"): + print "Creating %s" % (f) + jsonpath = os.path.join(jsonbasepath, f.replace(".md", ".json")) + post = frontmatter.load(os.path.join(dirpath, f)) + jsonblob = post.metadata + + # Generate a URL for locations for www to use + if dir == "_locations": + junk, dirname = os.path.split(dirpath) + jsonblob["url"] = "%s/%s/%s/%s" % (portalurl, "locations", dirname, f.replace(".md", ".html")) + + # Include Markdown body + if dir == "_prizes": + if post.metadata["type"] is not None and post.metadata["type"].lower() == "spirit": + continue + + jsonblob["body"] = markdown2.markdown(post.content) + jsonblob["portal_url"] = "%s/%s/%s/%s" % (portalurl, "prizes/2016", post.metadata["jurisdiction"], f.replace(".md", ".html")) + + if "gid" in jsonblob: + jsonblob["id"] = jsonblob["gid"] + del jsonblob["gid"] + + with open(jsonpath, "w") as outfile: + json.dump(jsonblob, outfile) + + if dir in jsonall: + jsonall[dir].append(jsonblob) + + if dir in jsonall: + print + print "Creating all.json" + + jsonallpath = os.path.join(jsonbasepath, "all.json") + with open(jsonallpath, "w") as outfile: + json.dump(jsonall[dir], outfile) + + print \ No newline at end of file diff --git a/python/generate_lists.py b/python/generate_lists.py new file mode 100644 index 0000000..47b110a --- /dev/null +++ b/python/generate_lists.py @@ -0,0 +1,26 @@ +import fnmatch +import os +import io + +# Config +prizesdir = "_prizes/2016/" +organisationsdir = "_organisations/" +eventsdir = "_locations/" + +# Organisation names +organisation_names = [] +for root, dirnames, filenames in os.walk(organisationsdir): + for filename in fnmatch.filter(filenames, "*.md"): + organisation_names.append(filename.split(".")[0]) + +# Event names +event_names = [] +event_md_files = {} +for root, dirnames, filenames in os.walk(eventsdir): + for filename in fnmatch.filter(filenames, "*.md"): + event_name = filename.split(".")[0] + event_names.append(event_name) + event_md_files[event_name] = os.path.join(root, filename) + +for event in sorted(event_names): + print event.replace("-", " ").title() \ No newline at end of file diff --git a/python/govhack_config.py b/python/govhack_config.py new file mode 100644 index 0000000..da529b7 --- /dev/null +++ b/python/govhack_config.py @@ -0,0 +1 @@ +REGIONS_LOCATIONS_SHEET = '1cPp1Wt2SH0CRxkiNNh6s-uT9BQdOVj1Q97i6TYOtL_M' diff --git a/python/handbook.py b/python/handbook.py new file mode 100644 index 0000000..e0279ea --- /dev/null +++ b/python/handbook.py @@ -0,0 +1,64 @@ +import sys +import io +import requests +# import json +#import urllib2 + +# consts +chapters_dir = "_handbookchapters" + +def save_markdown_file( doc ): + with io.open("%s/%s.md" % ( chapters_dir, doc["fileName"] ), "w", encoding="utf-8") as f: + f.write(u'---\n') + + f.write(unicode("slug: '%s'" % ( doc["fileName"] ))) + f.write(u'\n') + + f.write(unicode("title: '%s'" % ( doc["title"] ))) + f.write(u'\n') + + f.write(unicode("last_updated: '%s'" % ( doc["lastUpdated"] ))) + f.write(u'\n') + + if 'categories' in doc: + f.write(u'categories:\n') + # f.write(unicode(" - %s" % ( doc['categories'] ))) + # f.write(u'\n') + for category in doc['categories']: + f.write(unicode(" - %s" % ( category ))) + f.write(u'\n') + + if 'tags' in doc: + f.write(u'tags:\n') + for tag in doc['tags']: + f.write(unicode(" - %s" % ( tag ))) + f.write(u'\n') + + f.write(u'---\n') + f.write(u'\n') + + f.write(unicode(doc["content"])) + f.write(u'\n') + +# Endpoint for dumping comp stuff. Unauthenticated. Thank you based google docs script webapp. +# https://script.google.com/macros/s/AKfycbxU0RI14fAzSK5pHC6ibx9gVfX96mxnA8KbujmQDmi5tjPn_n5F/exec + +# Get the latest API +# This takes a couple of seconds... +# Then parse through and save each doc as an em-dee + +try: + print "Retrieving handbook content..." + resp = requests.post("https://script.google.com/macros/s/AKfycbxU0RI14fAzSK5pHC6ibx9gVfX96mxnA8KbujmQDmi5tjPn_n5F/exec") + docs = resp.json() +except: + print "Couldn't read JSON, check the source" + sys.exit(1); + +# Proceed... + +for doc in docs: + print "Saving %s/%s.md" % ( chapters_dir, doc["fileName"] ) + save_markdown_file( doc ) + +print "Done." diff --git a/python/mentors-emails.py b/python/mentors-emails.py new file mode 100644 index 0000000..e911474 --- /dev/null +++ b/python/mentors-emails.py @@ -0,0 +1,30 @@ +import fnmatch +import codecs +import tablib +import os +import requests +import urlparse +import shutil +import frontmatter +import yaml +import io +import validators + +# Config +csvfile = "python/data/mentors/mentors_formstack.csv" +mentorsdir = "_mentors/" +organisationsdir = "_organisations/" +eventsdir = "_locations/" +mentorimagesdir = "resources/images/mentors/" +tmpdir = "python/tmp/" + +# For seeing if the mentor's organisations exists +mentors_emails = [] +for root, dirnames, filenames in os.walk(mentorsdir): + for filename in fnmatch.filter(filenames, "*.md"): + post = frontmatter.load(os.path.join(mentorsdir, filename)) + if "email" in post.metadata["contact"]: + names = post.metadata["name"].split(" ") + first_name = names[0] + last_name = " ".join(names[1:]) + print "%s,%s,%s" % (post.metadata["contact"]["email"], first_name, last_name) diff --git a/python/mentors.py b/python/mentors.py new file mode 100644 index 0000000..e26545c --- /dev/null +++ b/python/mentors.py @@ -0,0 +1,158 @@ +import fnmatch +import codecs +import tablib +import os +import requests +import urlparse +import shutil +import frontmatter +import yaml +import io +import validators + +# Config +csvfile = "python/data/mentors/mentors_formstack.csv" +mentorsdir = "_mentors/" +organisationsdir = "_organisations/" +eventsdir = "_locations/" +mentorimagesdir = "resources/images/mentors/" +tmpdir = "python/tmp/" + +# Init +if not os.path.exists(tmpdir): + os.makedirs(tmpdir) + +# For seeing if the mentor's organisations exists +organisation_names = [] +for root, dirnames, filenames in os.walk(organisationsdir): + for filename in fnmatch.filter(filenames, "*.md"): + organisation_names.append(filename.split(".")[0]) + +# For matching mentors to events +event_names = [] +event_md_files = {} +for root, dirnames, filenames in os.walk(eventsdir): + for filename in fnmatch.filter(filenames, "*.md"): + event_name = filename.split(".")[0] + event_names.append(event_name) + event_md_files[event_name] = os.path.join(root, filename) + +with codecs.open(csvfile, "rb", encoding="iso-8859-1") as f: + csv = f.read().encode("utf-8") + +data = tablib.Dataset() +data.csv = csv +new_mentors_count = 0 + +for row in data.dict: + # Skip empty rows populated by the export process + if row["Time"] == "": + continue + + # Skip test user + if row["Email"] == "testing@123.com": + continue + + # Assign our mentor a globally unique id + name = "%s %s" % (row["Name (First)"].strip(), row["Name (Last)"].strip()) + gid = name.lower().replace(" ", "-").replace("'", "") + + # if gid != "claire-sainsbury": + # continue + + # Create records for mentors who haven't been processed yet + if not os.path.exists(mentorsdir + "%s.md" % (gid)): + new_mentors_count += 1 + print name + + mentor = { + "name": name, + "gid": gid, + "type": row["What type of mentor are you?"].strip(), + "position_title": row["Job title"].strip(), + "ask_me_about": row["What can people ask you about? (in a sentence)"].strip(), + "organisation": row["Agency/Organisation"].strip(), + "jurisdiction": row["What state or territory do you reside in?"].lower(), + "contact": { + "email": row["Email"] + } + } + + organisation_gid = row["Agency/Organisation"].lower().strip().replace(" ", "-").replace(",", "") + if organisation_gid in organisation_names: + mentor["organisation"] = organisation_gid + else: + print "WARNING: Could not resolve organisation: %s" % (row["Agency/Organisation"]) + print organisation_gid + + if len(row["Photograph URL"]) > 0: + # Download and stash the mentor image locally + try: + if validators.url(row["Photograph URL"]) == True: + r = requests.get(row["Photograph URL"], stream=True) + if r.status_code == 200: + # Hacky, should use actual mimetype + path = urlparse.urlparse(row["Photograph URL"]).path + fileext = os.path.splitext(path)[1] + + mentor_image_path = mentorimagesdir + "%s%s" % (gid, fileext) + with open(mentor_image_path, 'wb') as f: + r.raw.decode_content = True + shutil.copyfileobj(r.raw, f) + mentor["photo_url"] = "/" + mentor_image_path + else: + print "WARNING: Photo URL path does not look like a URL. '%s'" % (row["Photograph URL"]) + except requests.exceptions.MissingSchema, e: + print "WARNING: %s" % (e) + + if len(row["Twitter Handle"]) > 0: + mentor["contact"]["twitter"] = row["Twitter Handle"].strip() + + if len(row["Who are you on LinkedIn?"]) > 0: + mentor["contact"]["linkedin"] = row["Who are you on LinkedIn?"].strip() + + events = ["ACT", "NSW", "NT", "QLD", "SA", "TAS", "VIC", "WA"] + found_event = False + for event in events: + col_name = "%s Events" % (event) + if len(row[col_name]) > 0: + found_event = True + event_gid = row[col_name].lower().replace(" ", "-").replace("-official-event", "") + + if event_gid in event_names: + print "Attending Event: %s" % (event_gid) + + post = frontmatter.load(event_md_files[event_gid]) + mentor["location"] = post.metadata["gid"] + + if post.metadata["gid"] != event_gid: + print "WARNING: Event .md file does not match event gid. %s, %s" % (event_gid, post.metadata["gid"]) + else: + print "WARNING: Could not find event '%s' in list of events." % (event_gid) + + if found_event == False: + print "WARNING: Mentor did not say which event they're attending." + print "Attending event: %s" % (row["Which event will you be attending?"]) + + print + + # continue + # with io.open(tmpdir + "%s.md" % (gid), "w", encoding="utf-8") as f: + with io.open(mentorsdir + "%s.md" % (gid), "w", encoding="utf-8") as f: + f.write(u'---\n') + f.write(unicode(yaml.safe_dump(mentor, width=200, default_flow_style=False, encoding="utf-8", allow_unicode=True), "utf-8")) + f.write(u'---\n') + f.write(u'\n') + f.write(row["Tell us a bit about yourself"].replace("|", "\n").rstrip()) + +if new_mentors_count == 0: + print "No new mentors were found!" + print "Mentors in CSV: %s" % (len(data.dict)) +else: + print "> Fin" + print "> %s mentors were created" % (new_mentors_count) + print + print "NEXT STEPS:" + print " 1. Review the log for any WARNINGS you can resolve." + print " 2. Load mentors.html on your local version of Jekyll and validate that the mentor profiles look OK." + print " 3. Commit!" \ No newline at end of file diff --git a/python/prizes.py b/python/prizes.py new file mode 100644 index 0000000..86261d2 --- /dev/null +++ b/python/prizes.py @@ -0,0 +1,354 @@ +import fnmatch +import codecs +import tablib +import os +import requests +import urlparse +import shutil +import frontmatter +import yaml +import io + + +class PrizeSpreadsheets(object): + """ + """ + + def __init__(self, dir_path): + self.dir_path = dir_path + + def get_spreadsheets(self): + sheets = [] + for file in os.listdir(self.dir_path): + if file.endswith(".xlsx") and file.startswith("~") == False: + new_filename = "%s.xlsx" % (self.get_region(file)) + os.rename(os.path.join(self.dir_path, file), os.path.join(self.dir_path, new_filename)) + # print new_filename + + sheets.append({ + "filename": new_filename, + "region": self.get_region(file), + "sheet": PrizeSpreadsheet(os.path.join(self.dir_path, new_filename)) + }) + return sheets + + def get_region(self, file): + regions = ["AUSTRALIA", "ACT", "NSW", "NT", "QLD", "SA", "TAS", "VIC", "WA", "NZ"] + + if " " not in file: + region = os.path.splitext(file)[0] + else: + region = file.split(" ")[0].upper() + + if region not in regions: + raise ValueError("Region '%s' is not valid." % (region)) + + if region == "NATIONAL": + return "AUSTRALIA" + + return region + + +class PrizeSpreadsheet(object): + """ + """ + + def __init__(self, file_path): + self.file_path = file_path + self.read_file() + + def read_file(self): + from openpyxl import load_workbook + # print "file_path: %s" % (self.file_path) + self.wb = load_workbook(self.file_path) + + def get_prize_sheet(self, index=0): + # print self.wb.get_sheet_names() + self.ws = self.wb.get_sheet_by_name(self.wb.get_sheet_names()[index]) + return self.ws + + def get_headers(self): + headers = [] + for row in self.ws.iter_rows("A1:Z1"): + for cell in row: + if cell.value == None: + break + else: + col_name = "".join(cell.value.split()).lower() + if "eligibilitycriteria" in col_name or "eligiblitycriteria" in col_name: + col_name = "eligibilitycriteria" + headers.append(col_name) + return headers + + def is_row_empty(self, row): + for cell in row: + if cell.value is not None: + return False + return True + + def sheet_to_dict(self, ws): + rows = [] + headers = self.get_headers() + print headers + # print + + for row in ws.iter_rows(row_offset=1): + # print row + + # Consider a single empty row to be the end of the available data + if self.is_row_empty(row) == True: + # print "Row is empty" + break + + tmp = {} + for idx, cell in enumerate(row): + # print "%s: %s" % (idx, cell.value) + if idx >= len(headers): + break + else: + if type(cell.value) is unicode: + tmp[headers[idx]] = cell.value.strip() + else: + tmp[headers[idx]] = cell.value + rows.append(tmp) + # print + return rows + + +# Config +datadir = "python/data/prizes" +prizesdir = "_prizes/2016/" +organisationsdir = "_organisations/" +eventsdir = "_locations/" +# tmpdir = "python/tmp/" + +# Init +# For seeing if the mentor's organisations exists +organisation_names = [] +for root, dirnames, filenames in os.walk(organisationsdir): + for filename in fnmatch.filter(filenames, "*.md"): + organisation_names.append(filename.split(".")[0]) + +# For matching mentors to events +event_names = [] +event_md_files = {} +for root, dirnames, filenames in os.walk(eventsdir): + for filename in fnmatch.filter(filenames, "*.md"): + event_name = filename.split(".")[0] + event_names.append(event_name) + event_md_files[event_name] = os.path.join(root, filename) + +# Ingest available prize sheets for UPSERTing +gids = [] # GIDs used so far for sanity checking +validation_errors = [] + +sheets = PrizeSpreadsheets(datadir).get_spreadsheets() +for file in sheets: + print "Spreadsheet: %s" % (file["filename"]) + print "Region: %s" % (file["region"]) + + ws = file["sheet"].get_prize_sheet(0) + rows = file["sheet"].sheet_to_dict(ws) + + print "Prize Count: %s" % (len(rows)) + print + print "Processing prizes..." + print + + for idx, row in enumerate(rows): + # Assign our prize a globally unique id + # if "prizename" not in row: + # print row + # exit() + if row["prizename"] is None: + # @TODO + errmsg = "%s: Prize #'%s' has no name" % (file["region"].lower(), idx) + # raise ValueError(errmsg) + validation_errors.append(errmsg) + print errmsg + continue + else: + row["prizename"] = row["prizename"].replace(u'\u2013', "-").encode("utf-8") + + gid = file["region"].lower() + "-" + row["prizename"].lower().strip().replace("/", " or ").replace(" ", + "-").replace( + "'", "") + if gid in gids: # Hacky + gid = gid + "-2" + + if gid in gids: + raise ValueError("GID '%s' is already in use." % (gid)) + else: + gids.append(gid) + + print row["prizename"] + print gid + print + + if row["prizetype"] is None: + errmsg = "%s: Prize '%s' has no type set." % (file["region"].lower(), row["prizename"]) + # raise ValueError(errmsg) + validation_errors.append(errmsg) + print errmsg + continue + + jurisdiction = file["region"].lower() + if row["prizetype"].lower() == "international": + jurisdiction = "international" + + prize = { + "name": row["prizename"], + "title": row["prizename"], + "gid": gid, + "jurisdiction": jurisdiction, + "type": row["prizetype"].title() + } + + # Attach non-national prizes to their events + if file["region"] != "AUSTRALIA": + if row["prizelevelregionwideoreventspecific"] == "Event only": + if "eventspecificlocation" not in row: + raise ValueError("Event-only prize nominated without any accompanying event specified.") + + if row["eventspecificlocation"] is None: + # @TODO + errmsg = "%s: Prize '%s' is an Event prize, but no event locations provided." % ( + file["region"].lower(), row["prizename"]) + # raise ValueError(errmsg) + validation_errors.append(errmsg) + print errmsg + continue + + event_gid = row["eventspecificlocation"].replace(" ", "-").replace(",", "").lower() + event_gid_original = event_gid + + # Hacky fix + if event_gid == "mount-gambier": + event_gid = "mount-gambier-youth" + elif event_gid == "all-brisbane-events": + event_gid = "brisbane" + + if event_gid not in event_names: + errmsg = "%s: Event GID '%s' does not exist." % (file["region"].lower(), event_gid) + raise ValueError(errmsg) + validation_errors.append(errmsg) + # print errmsg + else: + print "For Event: %s" % (event_gid) + + post = frontmatter.load(event_md_files[event_gid]) + prize["category"] = "local" + prize["events"] = [post.metadata["gid"]] + + # Hacky fix + if event_gid_original == "all-brisbane-events": + prize["events"].append("brisbane-youth") + prize["events"].append("brisbane-maker") + + if post.metadata["gid"] != event_gid: + print "WARNING: Event .md file does not match event gid. %s, %s" % ( + event_gid, post.metadata["gid"]) + else: + prize["category"] = "state" + else: + prize["category"] = "australia" + + # Attach sponsoring organisations + prize["organisation_title"] = row["sponsoredby"].strip().replace(" Prize", "") + organisation_gid = row["sponsoredby"].lower().replace(" ", "-").replace(",", "").strip() + if organisation_gid in organisation_names: + prize["organisation"] = organisation_gid + else: + # print "WARNING: Could not resolve organisation: %s (%s)" % (row["sponsoredby"], organisation_gid) + pass + + # If a prize already exists, merge the latest info over the top + prize_md_dir = os.path.join(prizesdir, file["region"].lower()) + prize_md_file = os.path.join(prize_md_dir, "%s.md" % (gid)) + + if os.path.exists(prize_md_file): + # print "NOTICE: Found an existing prize. Merging new data." + existing_prize = frontmatter.load(prize_md_file) + existing_prize.metadata.update(prize) + prize = existing_prize.metadata + + # Convert prize $$$ value to an integer + estimatedprizevalue = "" + if type(row["estimateprizevalue$"]) is unicode and row["estimateprizevalue$"].strip().replace("$", + "").isdigit(): + estimatedprizevalue = int(row["estimateprizevalue$"].strip().replace("$", "")) + elif type(row["estimateprizevalue$"]) is float or type(row["estimateprizevalue$"]) is long: + estimatedprizevalue = int(row["estimateprizevalue$"]) + elif row["estimateprizevalue$"] is not None: + estimatedprizevalue = row["estimateprizevalue$"].strip() + + # Fixing up minor stuff + if row["prizecategorydescription"] is None: + row["prizecategorydescription"] = unicode("") + if row["prizereward"] is None: + row["prizereward"] = unicode("") + if row["eligibilitycriteria"] is None: + row["eligibilitycriteria"] = unicode("") + + # print prize + # print row + print + print "---" + print + + # continue + if not os.path.exists(prize_md_dir): + os.makedirs(prize_md_dir) + + with io.open(prize_md_file, "w", encoding="utf-8") as f: + f.write(u'---\n') + f.write(unicode( + yaml.safe_dump(prize, width=200, default_flow_style=False, encoding="utf-8", allow_unicode=True), + "utf-8")) + f.write(u'---\n') + f.write(u'\n') + f.write(unicode(row["prizecategorydescription"].replace("|", "\n").rstrip())) + f.write(u'\n\n') + f.write(u'# Prize\n') + f.write(unicode(str(row["prizereward"]).replace("|", "\n").replace(".0", "").rstrip())) + f.write(u'\n\n') + f.write(u'# Eligibility Criteria\n') + f.write(unicode(row["eligibilitycriteria"].replace("|", "\n").rstrip())) + + # print "\n" + print "############################################################" + # print "\n\n" + +if len(validation_errors) > 0: + for i in validation_errors: + print i + # --- + # name: Prize 1 + # id: prize_1 + # photo_url: https://static.pexels.com/photos/3084/person-woman-park-music-large.jpg + # jurisdiction: australia + # type: Prize + # organisations: + # - organisation_1 + # themes: + # - theme_1 + # - theme_3 + # datasets: + # - dataset_1 + # - dataset_3 + # dataportals: + # - dataportal_1 + # --- + + # Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam at ornare risus, at dignissim sapien. Sed eget est mi. Ut lacinia ornare tellus commodo sagittis. Integer euismod eleifend velit, eget dictum leo sagittis at. + + # # Prize Details + # Phasellus rutrum euismod turpis elementum ornare. Donec ut risus id ante gravida molestie. Integer cursus tempus porta. Sed vitae nunc quis nibh dapibus aliquet vel sed dolor. Donec id risus ut ipsum fermentum cursus quis sed massa. Nulla sit amet blandit orci, dapibus condimentum augue. Fusce suscipit purus et ultricies fermentum. + + # # Requirements + # Mauris at est urna. Aenean ut elit venenatis augue dictum viverra: + + # - **Nulla facilisi.** Donec vel justo odio. Vivamus consequat hendrerit arcu vel vestibulum. Proin malesuada mauris vitae nulla iaculis fringilla. + # - **Proin tempor tempus ipsum id bibendum.** Duis vehicula nisi vel bibendum lacinia. + # - **Suspendisse libero dui**, hendrerit vitae eleifend sed, cursus ut tellus. Vivamus tristique, lectus in ullamcorper interdum, orci nisi vestibulum nisi, ac luctus est mi quis justo. + # - **Phasellus tempor laoreet felis a porta.** Aenean in sodales odio. Curabitur interdum bibendum orci, vitae hendrerit eros tempus at. diff --git a/python/projects.py b/python/projects.py new file mode 100644 index 0000000..1e82984 --- /dev/null +++ b/python/projects.py @@ -0,0 +1,325 @@ +# -*- coding: utf-8 -*- + +import fnmatch +import codecs +import tablib +import os +import requests +import urlparse +import shutil +import frontmatter +import yaml +import io +import validators +import re +import string + +# https://gist.github.com/seanh/93666 +def format_filename(s): + """Take a string and return a valid filename constructed from the string. + Uses a whitelist approach: any characters not present in valid_chars are + removed. Also spaces are replaced with underscores. + + Note: this method may produce invalid filenames such as ``, `.` or `..` + When I use this method I prepend a date string like '2009_01_15_19_46_32_' + and append a file extension like '.txt', so I avoid the potential of using + an invalid filename. + """ + + valid_chars = "-_.() %s%s" % (string.ascii_letters, string.digits) + filename = ''.join(c for c in s if c in valid_chars) + filename = filename.replace(' ', '_') # I don't like spaces in filenames. + return filename + +# https://gist.github.com/seanh/93666 +def format_safe(s): + """Take a string and return a valid filename constructed from the string. + Uses a whitelist approach: any characters not present in valid_chars are + removed. Also spaces are replaced with underscores. + + Note: this method may produce invalid filenames such as ``, `.` or `..` + When I use this method I prepend a date string like '2009_01_15_19_46_32_' + and append a file extension like '.txt', so I avoid the potential of using + an invalid filename. + """ + + valid_chars = "-_.,'&!/:()? %s%s" % (string.ascii_letters, string.digits) + filename = ''.join(c for c in s if c in valid_chars) + # filename = filename.replace(' ', '_') # I don't like spaces in filenames. + return filename + +# Config +csvfile = "python/data/projects/projects.csv" +projects_dir = "_projects/" +jurisdictions_dir = "_jurisdictions/" +eventsdir = "_locations/" +prizesdir = "_prizes/" +mentorimagesdir = "resources/images/mentors/" +gids = [] + +# For matching projects to jurisdictions +jurisdiction_names = [] +jurisdiction_frontmatter = {} +for root, dirnames, filenames in os.walk(jurisdictions_dir): + for filename in fnmatch.filter(filenames, "*.md"): + post = frontmatter.load(os.path.join(jurisdictions_dir, filename)) + jurisdiction_names.append(post.metadata["name"]) + jurisdiction_frontmatter[post.metadata["name"]] = post.metadata + +# For matching projects to events +event_names = [] +event_frontmatter = {} +for root, dirnames, filenames in os.walk(eventsdir): + for filename in fnmatch.filter(filenames, "*.md"): + post = frontmatter.load(os.path.join(root, filename)) + event_names.append(post.metadata["name"].lower()) + event_frontmatter[post.metadata["name"].lower()] = post.metadata + +# For matching projects to prizes +prize_names = [] +prize_frontmatter = {} +for root, dirnames, filenames in os.walk(prizesdir): + for filename in fnmatch.filter(filenames, "*.md"): + post = frontmatter.load(os.path.join(root, filename)) + prize_name = format_safe(post.metadata["name"].lower()) + prize_names.append(prize_name) + post.metadata["path"] = os.path.join(root, filename) + post.metadata["content"] = post.content + prize_frontmatter[prize_name] = post.metadata + + if "projects" in prize_frontmatter[prize_name]: + del prize_frontmatter[prize_name]["projects"] # Overwrite and update each time + +# For fixing inconsistencies in event names between Portal and Hackerspace +event_name_lookup = { + "Canberra Heritage Hack": "heritage hack", + "Melbourne": "melbourne official", + "Brisbane Maker Node": "brisbane govhack maker node" +} + +# For fixing inconsistencies in prize names between Portal and Hackerspace +prize_name_lookup = { + "ABS - That thing we all need": "That thing we all need", + u'Fresh Data Hack (API’s and Data Services)': "Fresh Data Hack (APIs and Data Services)", + "Data Intelligence Hack": "Data Intelligence Hack (Data journalism, spatial modelling, analytics)", + "Weather Forecast": "Weather Forecasts", + "Supporing the Best of Brisbane": "Supporting the Best of Brisbane", + "Helping small businesses make better decisions": "How can City of Melbourne data be used to help businesses make better decisions?", + "Student Droput Rates": "Student Dropout Rates", + "The Northern Agricultural Region Prize": "Sustainable Coastlines Prize", + "Geospatial Prize": "Most Innovative Use Of Location-based Information Prize", + "Land Use and Development": "Logan Land Use and Development" +} + +# for k, v in enumerate(prize_name_lookup): +# prize_name_lookup[] + +with codecs.open(csvfile, "rb", encoding="utf-8") as f: + csv = f.read().encode("utf-8") + +data = tablib.Dataset() +data.csv = csv + +# Group by project name first (multiple rows for each Project Image URL) +projects_by_name = {} +projects = [] +for row in data.dict: + if row["Project Title"] not in projects_by_name: + projects_by_name[row["Project Title"]] = [] + projects_by_name[row["Project Title"]].append(row) + +# The last entry for each project seems to be the one that has the +# Project Image URL actually used on the project, so discard the others. +for project_name, rows in projects_by_name.iteritems(): + projects.append(rows[-1]) + +for row in projects: + # Skip unfinished projects + if row["Project Status"] != "Submitted": + continue + + # Log and skip incomplete projects + if row["Video URL"] == "" and row["Video Upload"] == "": + # print "WARNING: Project '%s' is incomplete! No video provided." % (row["Project Title"].strip()) + continue + if row["Source URL"] == "": + # print "WARNING: Project '%s' is incomplete! No repo provided." % (row["Project Title"].strip()) + continue + # if row["Homepage/Demo URL"] == "": + # print "WARNING: Project '%s' is incomplete! No homepage/demo provided." % (row["Project Title"].strip()) + # continue + # continue + + # Assign our project a globally unique id + gid = row["Project Title"].strip().lower().replace(" ", "-").replace("'", "").replace("?", "").replace("#", "") + if gid in gids: + raise ValueError("GID '%s' is not unique." % (gid)) + gids.append(gid) + + # print row["Project Title"].strip() + + project = { + "gid": gid, + "project_title": row["Project Title"].strip(), + "team_name": row["Team Name"].strip(), + "repo": { + "name": row["Evidence Repository Title"].strip(), + "url": row["Source URL"].strip(), + }, + "project_url": row["Homepage/Demo URL"].strip(), + "hackerspace_url": row["Project URL"].strip(), + "video": { + "url": row["Video URL"].strip() + }, + "category": "" + } + + # Set the project's jurisdiction + region = row["Region"] + if region == "West Australia": # Westralia shall be free! + region = "Western Australia" + + if region not in jurisdiction_names: + raise ValueError("Region '%s' is not valid." % (region)) + project["jurisdiction"] = jurisdiction_frontmatter[region]["gid"] + + # Set the project's local event + event_name = row["Local Event State"] + if event_name in event_name_lookup: + event_name = event_name_lookup[event_name] + + if event_name.lower() not in event_names: + raise ValueError("Event name '%s' is not valid." % (event_name)) + project["event"] = event_frontmatter[event_name.lower()]["gid"] + + # Set the project's image url + # "image_url": row["Project Image URL"].strip(), + if row["Project Image URL"] != "": + image_url = row["Project Image URL"].strip() + r_image = re.compile(r".*\.(jpg|jpeg|png|gif)$") + if r_image.match(image_url.lower()) != None: + project["image_url"] = image_url + + # Set the alternate video URL (GovHack S3 hosted videos) + if row["Video Upload"] != "": + project["video"]["alt_url"] = row["Video Upload"] + + # Determine the video hosting service used + if "youtube.com" in row["Video URL"] or "youtu.be" in row["Video URL"]: + project["video"]["type"] = "youtube" + elif "vimeo.com" in row["Video URL"]: + project["video"]["type"] = "vimeo" + elif "prezi.com" in row["Video URL"]: + project["video"]["type"] = "prezi" + elif "drive.google.com" in row["Video URL"]: + project["video"]["type"] = "google-drive" + elif "dropbox.com" in row["Video URL"]: + project["video"]["type"] = "dropbox" + elif "1drv.ms" in row["Video URL"]: + project["video"]["type"] = "onedrive" + else: + project["video"]["type"] = "unknown" + + # Determine the source code hosting service used + if "github.com" in row["Source URL"]: + project["repo"]["type"] = "github" + elif "gitlab.com" in row["Source URL"]: + project["repo"]["type"] = "gitlab" + elif "bitbucket.org" in row["Source URL"]: + project["repo"]["type"] = "bitbucket" + elif "drive.google.com" in row["Source URL"] or "docs.google.com" in row["Source URL"]: + project["repo"]["type"] = "google-drive" + elif "dropbox.com" in row["Source URL"]: + project["repo"]["type"] = "dropbox" + elif "arcgis.com" in row["Source URL"]: + project["repo"]["type"] = "arcgis" + elif "tableau.com" in row["Source URL"]: + project["repo"]["type"] = "tableau" + else: + project["repo"]["type"] = "unknown" + + # Something something prizes + if row["Prizes"] != "": + # Skip NZ prizes for now. So many names don't match + if project["jurisdiction"] == "nz": + continue + + row["Prizes"] = format_safe(row["Prizes"]) + + # Ugh. + if "Data Intelligence Hack (Data journalism, spatial modelling, analytics)" in row["Prizes"]: + row["Prizes"] = row["Prizes"].replace(" (Data journalism, spatial modelling, analytics)", "") + if "How can City of Melbourne make sure women have access to information about the services, support groups and mainstream services that are available to them?" in row["Prizes"]: + row["Prizes"] = row["Prizes"].replace("services, support", "services support") + + project["prizes-entered"] = [] + prizes = row["Prizes"].split(", ") + for prize in prizes: + if prize in prize_name_lookup: + prize = prize_name_lookup[prize] + + if "International Prize: " in prize: + prize = prize.replace("International Prize: ", "") + + prize_name = format_safe(prize).lower() + + if prize_name not in prize_names: + raise ValueError("Prize name '%s' is not valid." % (prize_name)) + project["prizes-entered"].append(prize_frontmatter[prize_name]["gid"]) + + # Give prizes a list of their associated projects too + if "projects" not in prize_frontmatter[prize.lower()]: + prize_frontmatter[prize.lower()]["projects"] = [] + prize_frontmatter[prize.lower()]["projects"].append(gid) + + # Something something datasets + if row["Used Datasets"] != "": + project["datasets_used"] = [] + datasets = row["Used Datasets"].split("\n") + for dataset in datasets[:-1]: + dataset_idents, dataset_url = dataset.split(" @ ", 1) + dataset_name, agency_name = dataset_idents.split(" [", 1) + + project["datasets_used"].append({ + "name": dataset_name.strip(), + "url": dataset_url.strip(), + "agency": agency_name[:-1].strip() + }) + + project_md_dir = os.path.join(projects_dir, "2016", project["jurisdiction"], project["event"]) + project_md_file = os.path.join(project_md_dir, "%s.md" % (gid)) + + # continue + if not os.path.exists(project_md_dir): + os.makedirs(project_md_dir) + + with io.open(project_md_file, "w", encoding="utf-8") as f: + f.write(u'---\n') + f.write(unicode(yaml.safe_dump(project, width=200, default_flow_style=False, encoding="utf-8", allow_unicode=True), "utf-8")) + f.write(u'---\n') + f.write(u'\n') + f.write(row["Project Description"].strip()) + + +# Now attach project gids to prizes +for prize_name, fm in prize_frontmatter.iteritems(): + if "projects" in fm: + path = fm["path"] + content = fm["content"] + del fm["path"] + del fm["content"] + + with io.open(path, "w", encoding="utf-8") as f: + f.write(u'---\n') + f.write(unicode(yaml.safe_dump(fm, width=200, default_flow_style=False, encoding="utf-8", allow_unicode=True), "utf-8")) + f.write(u'---\n') + f.write(u'\n') + f.write(content) + + +print "> Fin" +print +print "NEXT STEPS:" +print " 1. Review the log for any WARNINGS you can resolve." +print " 2. Load mentors.html on your local version of Jekyll and validate that the mentor profiles look OK." +print " 3. Commit!" \ No newline at end of file diff --git a/python/regions_locations.py b/python/regions_locations.py new file mode 100644 index 0000000..f55611e --- /dev/null +++ b/python/regions_locations.py @@ -0,0 +1,109 @@ +from __future__ import print_function +from oauth2client import tools +import os + +import common +import govhack_config + + +def main(): + service = common.get_service() + + spreadsheet_id = govhack_config.REGIONS_LOCATIONS_SHEET + + range_name = 'Regions!A2:C' + result = service.spreadsheets().values().get(spreadsheetId=spreadsheet_id, range=range_name).execute() + values = result.get('values', []) + + location_range_name = 'Locations!A2:Y' + location_result = service.spreadsheets().values().get(spreadsheetId=spreadsheet_id, + range=location_range_name).execute() + location_values = location_result.get('values', []) + + if not values: + print('No data found.') + else: + print('Generating region files...') + for row in values: + + filename = os.path.join('_jurisdictions', row[2].replace(' ', '_').lower() + ".md") + + print('%s, %s, %s' % (row[0], row[1], row[2])) + f = open(filename, 'w') + f.write('---\n') + f.write('gid: ' + row[0] + '\n') + f.write('name: ' + row[1] + '\n') + f.write('title: ' + row[2] + '\n') + f.write('photo_url: \n') + f.write('---\n') + f.close() + + print('Generating location files for %s ', row[2]) + + for location in location_values: + + if location[0] == row[0]: + filename = os.path.join('_locations', location[0], location[1] + ".md") + f = open(filename, 'w') + + f.write('---\n') + f.write('jurisdiction: ' + location[0] + '\n') + f.write('gid: ' + location[1] + '\n') + f.write('name: ' + location[4] + '\n') + f.write('prefix: ' + location[3] + '\n') + f.write('type: ' + location[5] + '\n') + f.write('theme: ' + location[6] + '\n') + f.write('eventbrite: ' + location[7] + '\n') + + latlong = location[8].split(',') + f.write('location: \n') + f.write(' lat: ' + latlong[0] + '\n') + f.write(' lon: ' + latlong[1] + '\n') + + f.write('venue: \n') + f.write(' name: ' + location[9] + '\n') + f.write(' address: ' + location[10] + '\n') + f.write(' host: ' + location[11] + '\n') + f.write(' accessibility: ' + location[12] + '\n') + f.write(' under_18: ' + location[13] + '\n') + f.write(' capacity: ' + location[14] + '\n') + f.write(' parking: ' + location[15] + '\n') + f.write(' public_transport: ' + location[16] + '\n') + f.write(' public_transport_last: ' + location[17] + '\n') + f.write('catering: ' + location[18] + '\n') + + times = location[19].split('-') + friday = times[0].split(',') + saturday = times[1].split(',') + sunday = times[2].split(',') + + f.write('times: \n') + f.write(' friday: \n') + f.write(' open: ' + friday[0] + '\n') + f.write(' close: ' + friday[1] + '\n') + f.write(' saturday: \n') + f.write(' open: ' + saturday[0] + '\n') + f.write(' close: ' + saturday[1] + '\n') + f.write(' sunday: \n') + f.write(' open: ' + sunday[0] + '\n') + f.write(' close: ' + sunday[1] + '\n') + + f.write('contact: \n') + f.write(' phone: ' + location[21] + '\n') + + f.write('is_capital_city: ' + location[2] + '\n') + f.write('display_weight: ' + location[22] + '\n') + + dataportals = location[23].split(',') + f.write('dataportals: \n') + for x in dataportals: + f.write(' - ' + x + '\n') + + f.write('---\n\n') + + f.write(location[24]) + f.close() + + +if __name__ == '__main__': + main() diff --git a/python/requirements.txt b/python/requirements.txt new file mode 100644 index 0000000..1c808cf --- /dev/null +++ b/python/requirements.txt @@ -0,0 +1,14 @@ +PyYAML==3.11 +ckanapi==3.6 +docopt==0.6.2 +et-xmlfile==1.0.1 +httplib2==0.9.2 +jdcal==1.2 +oauth2==1.9.0.post1 +openpyxl==2.3.5 +python-frontmatter==0.2.1 +requests==2.10.0 +simplejson==3.8.2 +six==1.10.0 +tablib==0.11.2 +wsgiref==0.1.2 diff --git a/resources/css/bootstrap-govhacktheme.min.css b/resources/css/bootstrap-govhacktheme.min.css new file mode 100644 index 0000000..f0d7232 --- /dev/null +++ b/resources/css/bootstrap-govhacktheme.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#4C9AD2;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#4C9AD2}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#4C9AD2}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#4C9AD2;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#4C9AD2;border-color:#2e6da4}.btn-primary .badge{color:#4C9AD2;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#4C9AD2;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#4C9AD2;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#4C9AD2}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#4C9AD2}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#4C9AD2;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#4C9AD2;border-color:#4C9AD2}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#4C9AD2}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#4C9AD2;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#4C9AD2}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#4C9AD2;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#4C9AD2;border-color:#4C9AD2}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#4C9AD2}.panel-primary>.panel-heading{color:#fff;background-color:#4C9AD2;border-color:#4C9AD2}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#4C9AD2}.panel-primary>.panel-heading .badge{color:#4C9AD2;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#4C9AD2}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/resources/css/bootstrap.min.css b/resources/css/bootstrap.min.css new file mode 100644 index 0000000..4cf729e --- /dev/null +++ b/resources/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/resources/css/footer.css b/resources/css/footer.css new file mode 100644 index 0000000..9e807a8 --- /dev/null +++ b/resources/css/footer.css @@ -0,0 +1,88 @@ +footer.site-footer { + padding-top: 50px !important; + font-size: 12px; + text-align: center; +} + +footer.site-footer .textwidget { + font-size: .78rem; +} + +footer.site-footer p { + margin-bottom: 15px; +} + +footer.site-footer .site-info { + padding-bottom: 40px; + color: #B7B5B6; +} + +footer.site-footer .footer-widget-area { + text-align: left; +} + +@media screen and (min-width: 1020px) { + footer.site-footer .footer-widget-area { + padding-top: 0; + } +} + +footer.site-footer .footer-widget-area, footer.site-footer .footer-widget-area button, footer.site-footer .footer-widget-area input, footer.site-footer .footer-widget-area select, footer.site-footer .footer-widget-area textarea { + color: #242424; +} + +footer.site-footer .footer-widget-area h1, footer.site-footer .footer-widget-area h2, footer.site-footer .footer-widget-area h3, footer.site-footer .footer-widget-area h4, footer.site-footer .footer-widget-area h5, footer.site-footer .footer-widget-area h6 { + color: #333; +} + +footer.site-footer .footer-widget-area .widgettitle, footer.site-footer .footer-widget-area .widget-title { + line-height: 1em; +} + +footer.site-footer .footer-widget-area .widget_nav_menu li { + padding: 0; + display: inline-block; +} + +@media screen and (min-width: 768px) { + footer.site-footer .footer-widget-area .widget_nav_menu li { + display: block; + } +} + +footer.site-footer .footer-widget-area .widget_nav_menu li a { + display: block; + padding: .6em 1em; + margin-left: -.3em; + transition: all .25s ease; + border-radius: 2px; +} + +@media screen and (min-width: 768px) { + footer.site-footer .footer-widget-area .widget_nav_menu li a { + padding: .3em .4em; + } +} + +footer.site-footer .footer-widget-area .widget_nav_menu li a:hover, footer.site-footer .footer-widget-area .widget_nav_menu li a:focus, footer.site-footer .footer-widget-area .widget_nav_menu li a:active { + color: white; + background: #848283; +} + +footer.site-footer .footer-navigation .menu-item { + display: inline-block; + text-align: center; +} + +@media screen and (min-width: 768px) { + footer.site-footer .footer-navigation { + padding: 6px 0 0; + } + + footer.site-footer .footer-navigation .menu-item:not(:last-child)::after { + content: "-"; + display: inline-block; + margin-left: 1.6em; + opacity: .6; + } +} diff --git a/resources/css/handbook.css b/resources/css/handbook.css new file mode 100644 index 0000000..e91934f --- /dev/null +++ b/resources/css/handbook.css @@ -0,0 +1,376 @@ +/** Handbook CSS **/ + +/* +Dark Grey #848283 +Light Grey #BEBFBF +Pink #CA1553 +*/ + +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,400italic,600italic,700italic); +@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700); + + +/* Color and font customisation */ +.label-primary { + background-color: #CA1553; +} +body { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, sans-serif; +} +h1, h2, h3, h4, +.h1, .h2, .h3, .h4 { + font-family: 'Montserrat', 'Franklin Gothic Medium', 'Arial Black', sans-serif; + font-weight: 300; +} + + +/* Structural and layout */ +body { + height: 100vh; + position: relative; +} +.viewport { + position: absolute; + top: 40px; + right: 0; + bottom: 0; + left: 0; + overflow: hidden; +} +.side-nav { + position: absolute; + border-right: 1px solid #BEBFBF; + width: 300px; + min-width: 200px; + max-width: 600px; + top: 0; + bottom: 0; + left: 0; + min-height: 100%; + padding: 15px; + box-shadow: inset -3px 8px 15px #fcfcfc; + overflow: hidden; +} +.side-nav-inner { + position: absolute; + /* top: 80px; */ + top: 0; + left: 0; + right: 0; + bottom: 40px; + padding: 15px; + overflow: auto; +} +.main { + position: absolute; + border-right: 1px solid #BEBFBF; + top: 0; + bottom: 0; + right: 0; + left: 300px; + min-height: 100%; + padding: 15px 30px; + overflow: auto; +} +.header { + min-height: 80px; + padding: 5px 0 25px; + overflow: hidden; +} +.mobile-header { + display: none; +} +.footer-sticky { + position: absolute; + bottom: 0; + left: 0; + right: 0; + height: 42px; + padding: 5px 15px; + border-top: 1px solid #BEBFBF; + z-index: 99; + color: #BEBFBF; + font-size: 10px; + background: white; +} + +@media screen and (max-width: 769px){ + .side-nav { + width: 240px; + } + .main { + left: 240px; + } +} + +@media screen and (max-width: 600px){ + .viewport { + top: 45px; + } + .mobile-header { + display: block; + position: absolute; + top: 0; + right: 0; + left: 0; + height: 45px; + padding: 8px 20px 0; + /* display: flex; */ + /* align-items: center; */ + /* justify-content: left; */ + background: url('/resources/govhack-background-home.jpg'); + } + a.mobile-menu-toggle { + color: white; + font-size: 24px; + } + .side-nav { + width: 100%; + opacity: 0; + transform: translateX(-100%); + transition: all .2s ease; + } + .main { + left: 0; + opacity: 1; + transform: translateX(0); + transition: all .2s ease; + } + .viewport.shifted .side-nav { + opacity: 1; + transform: translateX(0); + } + .viewport.shifted .main { + opacity: 0; + transform: translateX(100%); + } +} + + +/* Navigation and sidebar */ +.handbook-logo { + display: block; + height: 80px; + max-width: 280px; + background: url('/resources/handbook-logo.png') center center/contain no-repeat scroll transparent; + opacity: .85; +} +.handbook-logo:hover { + opacity: .85; + background: url('/resources/handbook-logo-return.png') center center/contain no-repeat scroll transparent; +} +.handbook-logo::before { + content: '2016'; + display: block; + color: #848283; +} +.handbook-logo::after { + content: 'Empower. Enable. Connect.'; + display: block; + color: #848283; +} +.nav-menu-section { + border-bottom: 2px solid whitesmoke; +} +.nav-menu-header-link, +.nav>li>a.nav-menu-header-link { + float: right !important; + font-size: .8em; + padding: 2px; +} +.nav-pills>li.active>a.nav-menu-header-link { + color: #4C9AD2; + background: transparent; +} +.nav-menu-header-link:hover, +.nav>li>a.nav-menu-header-link:hover, +.nav-pills>li.active>a.nav-menu-header-link:focus, +.nav-pills>li.active>a.nav-menu-header-link:hover { + color: #23527C; + background: transparent; +} + +.resizer-handle { + display: block; + width: 6px; + position: absolute; + top: 0; + right: 0px; + bottom: 0; + background: rgba(240,240,240,.6); + cursor: ew-resize; +} + +.side-nav .nav-pills a small { + display: none; +} +.side-nav .nav-pills li.active a small, +.side-nav .nav-pills li a:hover small { + display: inline; +} + +.side-nav-event-label { + margin-top: -24px; + margin-bottom: 8px; + text-align: left; + text-transform: capitalize; + padding-right: 40px; + position: relative; + font-size: 14px; + min-height: 36px; +} +a.side-nav-event-link { + position: absolute; + top: 2px; + right: 2px; + display: flex; + align-items: center; + justify-content: center; + width: 32px; + height: 32px; + border: 2px solid #dedede; + border-radius: 3px; + font-size: 22px; +} +a.side-nav-event-link:hover, +a.side-nav-event-link:active, +a.side-nav-event-link:focus { + text-decoration: none; +} +a.side-nav-event-link .glyphicon { + top: 0; + left: -1px; +} + +.custom-event #custom-location-selected-no { + display: block; +} +.custom-event #custom-location-selected-yes { + display: none; +} +.custom-event.custom-event-selected #custom-location-selected-no { + display: none; +} +.custom-event.custom-event-selected #custom-location-selected-yes { + display: block; +} + +/* Dash pages */ +.hb-dashboard-heading { + padding-right: 60px; + position: relative; +} +.hb-dashboard-heading::after { + display: block; + content: '2016'; + position: absolute; + bottom: -20px; + right: 30px; + color: #ccc; + font-size: 2.2em; + transform: rotate(-12deg); + opacity: .25; + z-index: -1; +} +.filter-state .glyphicon { + display: none; +} +.filter-state.filter-active .glyphicon { + display: inline; +} +.hb-search { + margin-bottom: 20px; +} +.hb-article-preview.search-hidden { + display: none; +} + +.featured-tile-image { + margin: 0 0 20px; +} + +/* Mobile dash layout */ +@media screen and (max-width: 768px){ + .hb-dashboard-heading { + padding-right: 0; + } + .mobile-header { + position: absolute; + top: 0; + left: 0; + right: 0; + } + .handbook-logo, + .side-nav-event-label { + margin: 0 auto; + } + .resizer-handle { + display: none !important; + } + .side-nav-event-label { + font-size: .8em; + } + .h1, h1 { + font-size: 24px; + } +} + + +/* Chapter */ +.hb-chapter-title-inline { + display: inline-block; + height: 1.2em; + vertical-align: -.2em; +} + +.hb-chapter-body, +.hb-chapter-tags { + margin-bottom: 20px; +} + +.heading-toggle a { + color: #BEBFBF; + transition: color .2s ease; +} +.heading-toggle.open a, +.heading-toggle a:hover, +.heading-toggle a:active, +.heading-toggle a:focus { + color: #848283; + text-decoration: none; +} +.heading-toggle::after { + display: inline-block; + padding: 0 8px; + content: '\25E2'; + color: #BEBFBF; + font-size: 16px; + transform: rotate(45deg); + transform-origin: 60% 50%; + transition: transform .2s ease; +} +.heading-toggle.open::after { + transform: rotate(225deg); +} + +.hb-chapter-footer { + +} + +.fb-comments { + min-height: 200px; +} + + +/* Prefs */ +.current-event-name { + font-size: 1.6em; + color: #848283; +} + +/* Theme */ +.nav-pills>li.active>a.alt, +.nav-pills>li.active>a.alt:focus, +.nav-pills>li.active>a.alt:hover { + background-color: #CA1553; +} \ No newline at end of file diff --git a/resources/css/megamenu.css b/resources/css/megamenu.css new file mode 100644 index 0000000..41936f1 --- /dev/null +++ b/resources/css/megamenu.css @@ -0,0 +1,110 @@ +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,700); +/*body { + font-family: 'Open Sans', 'sans-serif'; + background: #f0f0f0; + background: url(https://pcbx.us/bfjb.jpg); +} + +h1, +.h1 { + font-size: 36px; + text-align: center; + font-size: 5em; + color: #404041; +}*/ + +.navbar-nav>li>.dropdown-menu { + /*margin-top: 20px; + border-top-left-radius: 4px; + border-top-right-radius: 4px;*/ + z-index: 110; +} + +.navbar-default .navbar-nav>li>a { + /*width: 200px; + font-weight: bold;*/ +} + +.mega-dropdown { + position: static !important; + /*width: 100%;*/ +} + +.mega-dropdown-menu { + padding: 20px 0px; + width: 100%; + box-shadow: none; + -webkit-box-shadow: none; + z-index: 110; +} +@media only screen and (max-width: 767px) { + .mega-dropdown-menu { + background-color: white !important; + } + .mega-dropdown-menu li a { + /*color: black !important;*/ + } +} + +/*.mega-dropdown-menu:before { + content: ""; + border-bottom: 15px solid #fff; + border-right: 17px solid transparent; + border-left: 17px solid transparent; + position: absolute; + top: -15px; + left: 285px; + z-index: 10; +}*/ + +/*.mega-dropdown-menu:after { + content: ""; + border-bottom: 17px solid #ccc; + border-right: 19px solid transparent; + border-left: 19px solid transparent; + position: absolute; + top: -17px; + left: 283px; + z-index: 8; +}*/ + +.mega-dropdown-menu > li > ul { + padding: 0; + margin: 0; +} + +.mega-dropdown-menu > li > ul > li { + list-style: none; +} + +.mega-dropdown-menu > li > ul > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #999; + white-space: normal; +} + +.mega-dropdown-menu > li ul > li > a:hover, +.mega-dropdown-menu > li ul > li > a:focus { + text-decoration: none; + color: #444; + background-color: #f5f5f5; +} + +.mega-dropdown-menu .dropdown-header { + color: #0085a1; + font-size: 18px; + font-weight: bold; + padding-left: 6px; +} + +.mega-dropdown-menu form { + margin: 3px 20px; +} + +.mega-dropdown-menu .form-group { + margin-bottom: 3px; +} \ No newline at end of file diff --git a/resources/css/portal.css b/resources/css/portal.css new file mode 100644 index 0000000..9a7f5e0 --- /dev/null +++ b/resources/css/portal.css @@ -0,0 +1,1282 @@ +/*! + * Clean Blog v1.0.0 (http://startbootstrap.com) + * Copyright 2014 Start Bootstrap + * Licensed under Apache 2.0 (https://github.com/IronSummitMedia/startbootstrap/blob/gh-pages/LICENSE) + */ +@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700,400italic,600italic,700italic); +@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700); + +body.ghss-fixed::before { + z-index: 1000; +} + +body { + font-family: 'Lora', 'Times New Roman', serif; + font-family: 'Helvetica Neue', Helvetica, 'Open Sans', sans-serif; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, sans-serif; + font-weight: normal; + font-size: 16px; + color: #686868; +} + +p { + line-height: 1.5; + margin: 1em 0; +} + +p a:not(.btn) { + text-decoration: underline; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: 'Helvetica Neue', Helvetica, 'Open Sans', Arial, sans-serif; + font-family: 'Montserrat', 'Franklin Gothic Medium', 'Arial Black', sans-serif; + font-weight: 300; +} + +a { + color: #404040; +} + +section#content a, +section#content a:hover span { + color: #CA1553; + color: #4C9AD2; +} + +section#content a span { + color: #404040; +} + +a:hover, +a:focus { + color: #CA1553; + color: #4C9AD2; +} + +a img:hover, +a img:focus { + cursor: zoom-in; +} + +blockquote { + color: #808080; + font-style: italic; +} + +.empty-state { + color: #808080; + font-style: italic; +} + +hr.small { + max-width: 100px; + margin: 15px auto; + border-width: 4px; + border-color: white; +} + +.navbar-custom { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 3; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-family: 'Montserrat', 'Franklin Gothic Medium', 'Arial Black', sans-serif; +} + +.navbar-custom .navbar-brand { + font-weight: 300; +} + +.navbar-custom .nav li a { + text-transform: uppercase; + font-size: 12px; + font-weight: 300; + letter-spacing: 1px; + color: white; +} + +.navbar-custom .nav li.dropdown-header a { + text-transform: uppercase; + font-size: 18px; + font-weight: 300; + letter-spacing: 1px; + color: #4C9AD2; + padding-left: 0px; +} + +@media only screen and (min-width: 768px) { + .navbar-custom { + background: transparent; + border-bottom: 1px solid transparent; + } + + .navbar-custom .navbar-brand { + color: white; + padding: 20px; + } + + .navbar-custom .navbar-brand:hover, + .navbar-custom .navbar-brand:focus { + color: rgba(255, 255, 255, 0.8); + } + + .navbar-custom .nav li a { + color: white; + padding: 20px; + } + + .navbar-custom .nav li a:hover, + .navbar-custom .nav li a:focus { + color: rgba(255, 255, 255, 0.8); + } +} + +@media only screen and (min-width: 768px) { + .navbar-custom { + -webkit-transition: background-color 0.3s; + -moz-transition: background-color 0.3s; + transition: background-color 0.3s; + /* Force Hardware Acceleration in WebKit */ + -webkit-transform: translate3d(0, 0, 0); + -moz-transform: translate3d(0, 0, 0); + -ms-transform: translate3d(0, 0, 0); + -o-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + } + + .navbar-custom.is-fixed { + /* when the user scrolls down, we hide the header right above the viewport */ + position: fixed; + /*top: -61px;*/ + background-color: rgba(255, 255, 255, 0.9); + border-bottom: 1px solid #F2F2F2; + -webkit-transition: -webkit-transform 0.3s; + -moz-transition: -moz-transform 0.3s; + transition: transform 0.3s; + } + + .navbar-custom.is-fixed .navbar-brand { + /*color: #404040;*/ + } + + .navbar-custom.is-fixed .navbar-brand:hover, + .navbar-custom.is-fixed .navbar-brand:focus { + color: #4C9AD2; + } + + .navbar-custom.is-fixed .nav li a { + /*color: #404040;*/ + } + + .navbar-custom.is-fixed .nav li a:hover, + .navbar-custom.is-fixed .nav li a:focus, + .navbar-custom.is-fixed .nav li.open a.dropdown-toggle { + color: #4C9AD2; + background-color: rgba(255, 255, 255, 0.8); + /*color: #71B1DE;*/ + /*color: #555;*/ + } + + .navbar-custom .nav li.dropdown-header a:hover { + color: black; + } + + .navbar-custom.is-visible { + /* if the user changes the scrolling direction, we show the header */ + -webkit-transform: translate3d(0, 100%, 0); + -moz-transform: translate3d(0, 100%, 0); + -ms-transform: translate3d(0, 100%, 0); + -o-transform: translate3d(0, 100%, 0); + transform: translate3d(0, 100%, 0); + /*top: -61px;*/ /* Moved from .navbar-custom.is-fixed */ + top: -22px; /* Moved from .navbar-custom.is-fixed */ + } +} + +.intro-header { + background-color: #808080; + background: no-repeat center center; + background-attachment: scroll; + -webkit-background-size: cover; + -moz-background-size: cover; + background-size: cover; + -o-background-size: cover; + /*margin-bottom: 50px;*/ +} + +.intro-header .site-heading, +.intro-header .post-heading, +.intro-header .page-heading { + padding: 100px 0 50px; + color: white; +} + +@media only screen and (min-width: 768px) { + .intro-header .site-heading, + .intro-header .post-heading, + .intro-header .page-heading { + padding: 150px 0; + } +} + +.intro-header .site-heading, +.intro-header .page-heading { + text-align: center; +} + +.intro-header .site-heading h1, +.intro-header .page-heading h1 { + margin-top: 0; + font-size: 50px; +} + +.intro-header .site-heading .subheading, +.intro-header .page-heading .subheading { + font-size: 24px; + line-height: 1.1; + display: block; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-weight: 300; + margin: 10px 0 0; +} + +@media only screen and (min-width: 768px) { + .intro-header .site-heading h1, + .intro-header .page-heading h1 { + font-size: 80px; + } +} + +.intro-header .post-heading h1 { + font-size: 35px; +} + +.intro-header .post-heading .subheading, +.intro-header .post-heading .meta { + line-height: 1.1; + display: block; +} + +.intro-header .post-heading .subheading { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + font-size: 24px; + margin: 10px 0 30px; + font-weight: 600; +} + +.intro-header .post-heading .meta { + font-family: 'Lora', 'Times New Roman', serif; + font-style: italic; + font-weight: 300; + font-size: 20px; +} + +.intro-header .post-heading .meta a { + color: white; +} + +@media only screen and (min-width: 768px) { + .intro-header .post-heading h1 { + font-size: 55px; + } + + .intro-header .post-heading .subheading { + font-size: 30px; + } +} + +.post-preview > a { + color: #404040; +} + +.post-preview > a:hover, +.post-preview > a:focus { + text-decoration: none; + color: #4C9AD2; +} + +.post-preview > a > .post-title { + font-size: 30px; + margin-top: 30px; + margin-bottom: 10px; +} + +.post-preview > a > .post-subtitle { + margin: 0; + font-weight: 300; + margin-bottom: 10px; +} + +.post-preview > .post-meta { + color: #808080; + font-size: 18px; + font-style: italic; + margin-top: 0; +} + +.post-preview > .post-meta > a { + text-decoration: none; + color: #404040; +} + +.post-preview > .post-meta > a:hover, +.post-preview > .post-meta > a:focus { + color: #4C9AD2; + text-decoration: underline; +} + +@media only screen and (min-width: 768px) { + .post-preview > a > .post-title { + font-size: 36px; + } +} + +.section-heading { + font-size: 36px; + margin-top: 60px; + font-weight: 300; + color: #424242; +} + +.caption { + text-align: center; + font-size: 14px; + padding: 10px; + font-style: italic; + margin: 0; + display: block; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; +} + +.floating-label-form-group { + font-size: 14px; + position: relative; + margin-bottom: 0; + padding-bottom: 0.5em; + border-bottom: 1px solid #EEEEEE; +} + +.floating-label-form-group input, +.floating-label-form-group textarea { + z-index: 1; + position: relative; + padding-right: 0; + padding-left: 0; + border: none; + border-radius: 0; + font-size: 1.5em; + background: none; + box-shadow: none !important; + resize: none; +} + +.floating-label-form-group label { + display: block; + z-index: 0; + position: relative; + top: 2em; + margin: 0; + font-size: 0.85em; + line-height: 1.764705882em; + vertical-align: middle; + vertical-align: baseline; + opacity: 0; + -webkit-transition: top 0.3s ease, opacity 0.3s ease; + -moz-transition: top 0.3s ease, opacity 0.3s ease; + -ms-transition: top 0.3s ease, opacity 0.3s ease; + transition: top 0.3s ease, opacity 0.3s ease; +} + +.floating-label-form-group::not(:first-child) { + padding-left: 14px; + border-left: 1px solid #EEEEEE; +} + +.floating-label-form-group-with-value label { + top: 0; + opacity: 1; +} + +.floating-label-form-group-with-focus label { + color: #4C9AD2; +} + +form .row:first-child .floating-label-form-group { + border-top: 1px solid #EEEEEE; +} + +.btn { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-transform: uppercase; + font-size: 14px; + font-weight: 800; + letter-spacing: 1px; + border-radius: 0; + padding: 15px 25px; +} + +.btn-lg { + font-size: 16px; + padding: 25px 35px; +} + +.btn-default:hover, +.btn-default:focus { + background-color: #4C9AD2; + border: 1px solid #4C9AD2; + color: white; +} + +.pager { + margin: 20px 0 0; +} + +.pager li > a, +.pager li > span { + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + text-transform: uppercase; + font-size: 14px; + font-weight: 800; + letter-spacing: 1px; + padding: 15px 25px; + background-color: white; + border-radius: 0; +} + +.pager li > a:hover, +.pager li > a:focus { + color: white; + background-color: #4C9AD2; + border: 1px solid #4C9AD2; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #808080; + background-color: #404040; + cursor: not-allowed; +} + +::-moz-selection { + color: white; + text-shadow: none; + background: #4C9AD2; +} + +::selection { + color: white; + text-shadow: none; + background: #4C9AD2; +} + +img::selection { + color: white; + background: transparent; +} + +img::-moz-selection { + color: white; + background: transparent; +} + +body { + webkit-tap-highlight-color: #CA1553; +} + +#portfolio .portfolio-item { + margin: 0 0 15px; + right: 0 +} + +#portfolio .portfolio-item .portfolio-link { + display: block; + position: relative; + max-width: 400px; + margin: 0 auto +} + +#portfolio .portfolio-item .portfolio-link .portfolio-hover { + background: rgba(128, 128, 128, .65); + position: absolute; + width: 100%; + height: 100%; + opacity: 0; + transition: all ease .5s; + -webkit-transition: all ease .5s; + -moz-transition: all ease .5s +} + +#portfolio .portfolio-item .portfolio-link .portfolio-hover:hover { + opacity: 1 +} + +/*#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content { + position: absolute; + width: 100%; + height: 20px; + font-size: 20px; + text-align: center; + top: 50%; + margin-top: -12px; + color: #fff +} + +#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content i { + margin-top: -12px +} + +#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h3, +#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content h4 { + margin: 0 +}*/ + +#portfolio .portfolio-item .portfolio-link .portfolio-hover .portfolio-hover-content blockquote { + color: #FFFFFF; + font-style: none; +} + +#portfolio .portfolio-item a.portfolio-link { + /*width: 360px; + height: 260px;*/ + background-color: #FFFFFF; + text-decoration: none; + + display: block; + position: relative; + max-width: 400px; + margin: 0 auto +} + +#portfolio .portfolio-item.no-photo:hover { + /*background-color: #444; */ +} + +#portfolio .portfolio-item.no-photo:hover a.portfolio-link, +#portfolio .portfolio-item.no-photo:hover div.portfolio-caption { + background-color: #444; +} + +#portfolio .portfolio-item.no-photo:hover div.portfolio-caption { + color: white; +} + +#portfolio .portfolio-item.no-photo:hover blockquote { + color: white; +} + +#portfolio .portfolio-item .portfolio-caption { + max-width: 400px; + margin: 0 auto; + background-color: #FFF; + text-align: center; + padding: 25px +} + +#portfolio .portfolio-item .portfolio-caption h4 { + text-transform: none; + margin: 0 +} + +#portfolio .portfolio-item .portfolio-caption p { + font-family: "Droid Serif", "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: italic; + font-size: 16px; + margin: 0 +} + +#portfolio * { + z-index: 2 +} + +@media (min-width: 767px) { + #portfolio .portfolio-item { + margin: 0 0 30px + } +} + +.team-member { + text-align: center; + margin-bottom: 50px +} + +.team-member img { + margin: 0 auto; + border: 7px solid #FFF +} + +.team-member h4 { + margin-top: 25px; + margin-bottom: 0; + text-transform: none +} + +.team-member p { + margin-top: 0 +} + +aside.clients img { + margin: 50px auto +} + +.bg-light-gray { + /*background-color: #f7f7f7*/ +} + +.bg-darkest-gray { + background-color: #222 +} + +.navbar-brand.breadcrumb { + background-color: transparent; + margin-bottom: 0px; +} + +.navbar-brand.breadcrumb li { + color: white; + padding: 0px; + font-weight: 800; +} + +.navbar-custom { + background-image: url('/resources/hex_banner.jpg'); + background-size: cover; + z-index: 2000; /* Need to beat the leaflet map's z-index of 1000 */ +} + +.navbar-custom .navbar-brand { + color: white; + text-shadow: 0 0 3px rgba(20, 20, 20, 0.4); +} + +.navbar-custom .navbar-toggle[aria-expanded] { + background-color: #404040; +} + +.navbar-custom .dropdown-toggle[aria-expanded] { + /*color: #CA1553;*/ +} + +.navbar-custom .icon-bar { + background-color: white !important; +} + +.navbar-custom.is-fixed .navbar-brand.breadcrumb li, +.navbar-custom.is-fixed .navbar-brand.breadcrumb li a { + /*color: #404040;*/ +} + +.navbar-custom.is-fixed .navbar-brand.breadcrumb li + li:before { + /*color: black;*/ +} + +.navbar-custom.is-fixed .navbar-brand.breadcrumb li.active { + color: #CA1553; +} + +.navbar-custom .navbar-brand.breadcrumb li a { + text-decoration: none; +} + +.navbar-custom.is-fixed .navbar-brand.breadcrumb li.active a { + /*color: #CA1553;*/ +} + +.navbar-custom .dropdown-menu ul { + padding-right: 7px; + padding-left: 7px; +} + +.navbar-custom .dropdown-menu li a { + color: black; + padding: 7px; +} + +@media only screen and (max-width: 768px) { + .navbar-custom .dropdown-menu li a { + /*color: white !important; */ + } +} + +.navbar-custom .dropdown-menu li a:hover { + background-color: #EEE; + color: #CA1553; +} + +.navbar-brand.breadcrumb li a { + color: white; +} + +section { + padding-top: 25px; + padding-bottom: 25px; +} + +section#content { + padding-top: 0px; +} + +.header-row { + padding-bottom: 20px; +} + +/* From the Bootstrap docs */ +/*.affix { + position: static; + width: auto; + top: 0; +}*/ + +/* +.bs-docs-sidebar.affix { + position: static; +} + +.bs-docs-sidebar.affix li { + padding: 0px; + margin-top: 0px; +} + +.bs-docs-sidebar.affix li a:hover { + background-color: transparent; +} + +@media (min-width: 1170px) { + .bs-docs-sidebar .nav>.active>ul { + display:block + } + + .bs-docs-sidebar.affix,.bs-docs-sidebar.affix-bottom { + width: 180px + } + + .bs-docs-sidebar.affix { + position: fixed; + top: 20px + } + + .bs-docs-sidebar.affix-bottom { + position: absolute + } + + .bs-docs-sidebar.affix .bs-docs-sidenav,.bs-docs-sidebar.affix-bottom .bs-docs-sidenav { + margin-top: 0; + margin-bottom: 0 + } +} + +@media (min-width: 1215px) { + .bs-docs-sidebar.affix, .bs-docs-sidebar.affix-bottom { + width:220px + } +} + +@media (min-width: 1350px) { + .bs-docs-sidebar.affix, .bs-docs-sidebar.affix-bottom { + width:280px + } +} +*/ + +/* Bootstrap TOC */ +nav[data-toggle='toc'] { + top: 100px; + padding-top: 10px; + max-width: 250px; + background-color: white; + z-index: 2; + /*margin-top: 30px;*/ + margin-left: -30px; +} + +@media (max-width: 767px) { + nav[data-toggle='toc'] { + position: static; + width: auto; + /*margin-top: 70px;*/ + } +} + +nav[data-toggle='toc'] h1 { + font-size: 16px; + font-weight: 500; + color: #767676; + padding: 4px 20px; + border-bottom: 1px solid #BFC1C3; +} + +nav[data-toggle='toc'] .nav .nav li:not(:last-child) { + margin-bottom: 5px; +} + +/* small screens */ +@media (max-width: 768px) { + /* override the Affix plugin so that the navigation isn't sticky */ + nav.affix[data-toggle='toc'] { + /*position: static;*/ + } + + /* PICK ONE */ + /* don't expand nested items, which pushes down the rest of the page when navigating */ + nav[data-toggle='toc'] .nav .active .nav { + display: none; + } + + /* alternatively, if you *do* want the second-level navigation to be shown (as seen on this page on mobile), use this */ + /*nav[data-toggle='toc'] .nav .nav { + display: block; + }*/ +} + +a.cc { + text-decoration: none; + display: block; + padding-bottom: 10px; +} + +.media .media-body p { + margin: 0px; +} + +.page-organisation .media-body, +.page-organisation .media-left, +.page-organisation .media-right { + vertical-align: middle; + min-width: 64px; +} + +.page-organisation .media-left { + padding-right: 20px; +} + +.page-organisation .media .media-left img { + max-height: 64px; +} + +ul.social-buttons a { + text-decoration: none; +} + +.jurisdictions-bar > div { + padding: 0px; +} + +.jurisdictions-bar .thumbnail { + font-style: normal; + margin-top: 0px; + margin-bottom: 0px; +} + +.jurisdictions-bar .thumbnail a { + text-decoration: none; +} + +.jurisdictions-bar .thumbnail img { + cursor: pointer; +} + +.jurisdictions-bar .thumbnail:hover { + background-color: #444; +} + +.jurisdictions-bar .thumbnail:hover .caption { + color: #FFF; +} + +.jurisdictions-bar .caption { + padding: 0px; +} + +.media.mentor ul.social-buttons { + font-size: 14px; +} + +.media.mentor ul.social-buttons li { + padding-right: 0px; +} + +.media.mentor .media-left { + min-width: 120px; +} + +.mentor-description dl { + margin: 1em 0; +} + +/* Temporary hack to force page widths to obey the columns */ +/* Replace later with proper layouts on each page sans div.container */ +section > div.container { + width: inherit; +} + +.main-container { + margin-top: 70px; +} + +/* +.main-container { + margin-top: 0px; +} +@media (min-width: 767px) { + .main-container { + margin-top: 70px; + } +}*/ + +.locations-row h2:not(:first-child) { + padding-top: 140px; +} + +.location-wip, +.location-cancelled { + display: inline-block; + padding: 4px 12px; + font-size: 14px; + border-radius: 2px; + background: #CA1553; + background: #4C9AD2; + color: white; + font-weight: bold; +} + +a.location-rego-link { + display: inline-block; + padding: 5px 15px; + padding-left: 50px; + border: 1px solid #BEBFBF; + border-radius: 4px; + color: #848283; + text-decoration: none; + background: url('https://assets.govhack.org/img/logo/inline-logo.png') 15px center/20px 20px no-repeat scroll transparent; +} + +a.location-rego-link:hover, +a.location-rego-link:focus, +a.location-rego-link:active { + border-color: #848283; + text-decoration: none; + box-shadow: 2px 2px 2px #BEBFBF; +} + +a.location-rego-link.snap-right { + float: right; +} + +.gh-sponsor-logo { + max-width: 200px; + max-height: 120px; +} + +.gh-lead-agency .gh-sponsor-logo { + max-height: 200px; + max-width: 100%; +} + +.prepend-govhack-icon { + +} + +small.notice a { + text-decoration: underline; +} + +/** Stuff to repair the broken gh-ss vs navbar **/ + +/* Hide on mobile */ +.gh-ss { + display: none; +} + +.gh-ss a { + font-size: 16px; + font-weight: bold; +} + +@media screen and (min-width: 600px) and (max-width: 768px) { + body.with-gh-ss .navbar-custom { + top: 40px; + } + + .gh-ss { + display: block; + } +} + +@media screen and (min-width: 1170px) { + body.with-gh-ss .navbar-custom { + top: -22px; /* Navbar default */ + } +} + +/* Sponsors */ +@media (min-width: 992px) { + .vcenter { + display: inline-block; + vertical-align: middle; + float: none; + } + + .govhack-sponsors > .row + .row { + margin-top: 20px; + } +} + +.govhack-sponsors h3 { + margin-bottom: 15px; + margin-top: 50px; + font-size: 1.125em; + font-weight: 300; +} + +.govhack-sponsors > .row img { + max-width: 100%; + max-height: 180px; + padding: 10px; +} + +/*.govhack-sponsors > .row a img*/ +a > img { + cursor: pointer; +} + +/* Deal with the fixed header mucking up anchor positions */ +/* http://stackoverflow.com/a/11842865 */ +h1[id], h2[id], h3[id], h4[id] /*, a[name]*/ +{ + padding-top: 110px; + margin-top: -110px; + pointer-events: none; +} + +h1[id] a, h2[id] a, h3[id] a, h4[id] a { + pointer-events: all; +} + +.dataset-category { + margin-left: -34px; +} + +.dataset-jurisdiction { + /* margin-left: -17px; */ +} + +.dataset-org { + margin-top: 30px; +} + +/** Extra layout rules by AY **/ + +.national-sponsors-lockup .row { + display: flex; + justify-content: center; + align-items: center; +} + +.media-subheading { + margin-top: -0.4em; + margin-bottom: 0.6em; +} + +img.gh-sponsor-logo { + +} + +.location-byline { + margin: 20px 0; +} + +.location-image-tile { + max-height: 300px; + margin: 0 10px; +} + +.location-image-tile img { + min-height: 300px; + height: 300px; +} + +.location-venue-details p { + margin: 0; +} + +.location-theme::before { + content: ' – '; + display: inline; + color: #BBB; +} + +/** Not layout but cute stylistic stuff **/ +.icon-event-type::before { + content: ''; + display: inline-block; + height: 16px; + width: 16px; + margin-right: 0.6em; + border-radius: 2px; + color: white; +} + +.icon-event-type-official::before { + background-color: #CA1553; +} + +.icon-event-type-node::before { + background-color: #4C9AD2; +} + +.gh-tiles .tile { + display: block; + display: flex; + align-items: center; + height: 120px; + min-height: 80px; + text-align: left; + color: white; + font-weight: normal; + background-color: #444; + background-size: 100% auto; + background-position: center right; + background-repeat: no-repeat; + border: none; + border-bottom: 12px solid #B7B5B6; + background-size: cover; + transition: transform 0.1s linear; + margin-bottom: 15px; +} + +.gh-tiles .tile h1, +.gh-tiles .tile h2, +.gh-tiles .tile h3, +.gh-tiles .tile h4 { + margin: 0 0 .25em; +} + +.gh-tiles .tile p { + font-size: .65em; + margin: 0; + line-height: 1.15; +} + +.gh-tiles .tile p + p { + margin-top: .25em; +} + +.gh-tiles a.tile { + text-decoration: none; + transition: transform .2s ease; +} + +.gh-tiles a.tile:hover, +.gh-tiles a.tile:active, +.gh-tiles a.tile:focus { + transform: scale(1.05); +} + +.gh-tiles .tile.pink { + background-color: #CA1553; + border-color: #E9296B; +} + +.gh-tiles .tile.blue { + background-color: #4C9AD2; + border-color: #75B1DC; +} + +.gh-tiles .tile.lightgrey { + background-color: #ECF0F1; + border-color: #DDE1E2; + color: #444; +} + +.gh-tiles .tile .tile-caption { + margin: 0 15px; +} + +.gh-tiles .tile.tile--hackerspace { + background-image: url('/resources/images/tiles/hackerspace@2x.png'); +} + +.gh-tiles .tile.tile--prizes { + background-image: url('/resources/images/tiles/prize@2x.png'); +} + +.gh-tiles .tile.tile--handbook { + background-image: url('/resources/images/tiles/handbook@2x.png'); +} + +.gh-tiles .tile.tile--datasets { + background-image: url('/resources/images/tiles/data2@2x.png'); +} + +hr { + background: rgba(0, 0, 0, 0.03); + border: 0; + height: 3px; + margin-bottom: 24px; +} + +div.card { + color: #404040; + padding: 5px; +} + +div.bg-primary.card, +div.bg-primary.card a { + color: #FFF; +} + +.project-card { + float: right; + position: relative; + margin: 10px; + width: 300px; + height: 300px; + background: none center center/cover no-repeat scroll transparent; + border: 1px solid ghostwhite; +} + +a.project-card { + display: block; + text-decoration: none; +} + +.project-card-caption { + position: absolute; + height: 40%; + bottom: 0; + left: 0; + right: 0; + background: rgba(0, 0, 0, .6); + color: white; + padding: 20px; +} + +.project-thumbnail { + max-width: 200px; + max-height: 200px; + display: inline-block; + margin-bottom: 20px; +} + +.project-divider { + height: 5px; + background: #CA1553; +} + +.project-desc span { + display: block; +} + + diff --git a/resources/fonts/glyphicons-halflings-regular.eot b/resources/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/resources/fonts/glyphicons-halflings-regular.eot differ diff --git a/resources/fonts/glyphicons-halflings-regular.svg b/resources/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..94fb549 --- /dev/null +++ b/resources/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/resources/fonts/glyphicons-halflings-regular.ttf b/resources/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..1413fc6 Binary files /dev/null and b/resources/fonts/glyphicons-halflings-regular.ttf differ diff --git a/resources/fonts/glyphicons-halflings-regular.woff b/resources/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/resources/fonts/glyphicons-halflings-regular.woff differ diff --git a/resources/fonts/glyphicons-halflings-regular.woff2 b/resources/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/resources/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/resources/govhack-background-home.jpg b/resources/govhack-background-home.jpg new file mode 100644 index 0000000..525b150 Binary files /dev/null and b/resources/govhack-background-home.jpg differ diff --git a/resources/govhack-go-footprints-handbook.jpg b/resources/govhack-go-footprints-handbook.jpg new file mode 100644 index 0000000..c7c7232 Binary files /dev/null and b/resources/govhack-go-footprints-handbook.jpg differ diff --git a/resources/handbook-logo-return.png b/resources/handbook-logo-return.png new file mode 100644 index 0000000..2c6e231 Binary files /dev/null and b/resources/handbook-logo-return.png differ diff --git a/resources/handbook-logo.png b/resources/handbook-logo.png new file mode 100644 index 0000000..e42ecf0 Binary files /dev/null and b/resources/handbook-logo.png differ diff --git a/resources/hex_banner.jpg b/resources/hex_banner.jpg new file mode 100644 index 0000000..85fb95e Binary files /dev/null and b/resources/hex_banner.jpg differ diff --git a/resources/icons/android-icon-144x144.png b/resources/icons/android-icon-144x144.png new file mode 100644 index 0000000..ebbe3f5 Binary files /dev/null and b/resources/icons/android-icon-144x144.png differ diff --git a/resources/icons/android-icon-192x192.png b/resources/icons/android-icon-192x192.png new file mode 100644 index 0000000..c9dc546 Binary files /dev/null and b/resources/icons/android-icon-192x192.png differ diff --git a/resources/icons/android-icon-36x36.png b/resources/icons/android-icon-36x36.png new file mode 100644 index 0000000..0b8d7df Binary files /dev/null and b/resources/icons/android-icon-36x36.png differ diff --git a/resources/icons/android-icon-48x48.png b/resources/icons/android-icon-48x48.png new file mode 100644 index 0000000..580217b Binary files /dev/null and b/resources/icons/android-icon-48x48.png differ diff --git a/resources/icons/android-icon-72x72.png b/resources/icons/android-icon-72x72.png new file mode 100644 index 0000000..079501f Binary files /dev/null and b/resources/icons/android-icon-72x72.png differ diff --git a/resources/icons/android-icon-96x96.png b/resources/icons/android-icon-96x96.png new file mode 100644 index 0000000..a1fafe8 Binary files /dev/null and b/resources/icons/android-icon-96x96.png differ diff --git a/resources/icons/apple-icon-114x114.png b/resources/icons/apple-icon-114x114.png new file mode 100644 index 0000000..1abb686 Binary files /dev/null and b/resources/icons/apple-icon-114x114.png differ diff --git a/resources/icons/apple-icon-120x120.png b/resources/icons/apple-icon-120x120.png new file mode 100644 index 0000000..58b6ef6 Binary files /dev/null and b/resources/icons/apple-icon-120x120.png differ diff --git a/resources/icons/apple-icon-144x144.png b/resources/icons/apple-icon-144x144.png new file mode 100644 index 0000000..ebbe3f5 Binary files /dev/null and b/resources/icons/apple-icon-144x144.png differ diff --git a/resources/icons/apple-icon-152x152.png b/resources/icons/apple-icon-152x152.png new file mode 100644 index 0000000..cac4330 Binary files /dev/null and b/resources/icons/apple-icon-152x152.png differ diff --git a/resources/icons/apple-icon-180x180.png b/resources/icons/apple-icon-180x180.png new file mode 100644 index 0000000..e88ede5 Binary files /dev/null and b/resources/icons/apple-icon-180x180.png differ diff --git a/resources/icons/apple-icon-57x57.png b/resources/icons/apple-icon-57x57.png new file mode 100644 index 0000000..61f603a Binary files /dev/null and b/resources/icons/apple-icon-57x57.png differ diff --git a/resources/icons/apple-icon-60x60.png b/resources/icons/apple-icon-60x60.png new file mode 100644 index 0000000..3dda8f0 Binary files /dev/null and b/resources/icons/apple-icon-60x60.png differ diff --git a/resources/icons/apple-icon-72x72.png b/resources/icons/apple-icon-72x72.png new file mode 100644 index 0000000..079501f Binary files /dev/null and b/resources/icons/apple-icon-72x72.png differ diff --git a/resources/icons/apple-icon-76x76.png b/resources/icons/apple-icon-76x76.png new file mode 100644 index 0000000..5a63319 Binary files /dev/null and b/resources/icons/apple-icon-76x76.png differ diff --git a/resources/icons/apple-icon-precomposed.png b/resources/icons/apple-icon-precomposed.png new file mode 100644 index 0000000..fe5b36d Binary files /dev/null and b/resources/icons/apple-icon-precomposed.png differ diff --git a/resources/icons/apple-icon.png b/resources/icons/apple-icon.png new file mode 100644 index 0000000..fe5b36d Binary files /dev/null and b/resources/icons/apple-icon.png differ diff --git a/resources/icons/browserconfig.xml b/resources/icons/browserconfig.xml new file mode 100644 index 0000000..c554148 --- /dev/null +++ b/resources/icons/browserconfig.xml @@ -0,0 +1,2 @@ + +#ffffff \ No newline at end of file diff --git a/resources/icons/favicon-16x16.png b/resources/icons/favicon-16x16.png new file mode 100644 index 0000000..9b3dcb9 Binary files /dev/null and b/resources/icons/favicon-16x16.png differ diff --git a/resources/icons/favicon-32x32.png b/resources/icons/favicon-32x32.png new file mode 100644 index 0000000..0880a3e Binary files /dev/null and b/resources/icons/favicon-32x32.png differ diff --git a/resources/icons/favicon-96x96.png b/resources/icons/favicon-96x96.png new file mode 100644 index 0000000..a1fafe8 Binary files /dev/null and b/resources/icons/favicon-96x96.png differ diff --git a/resources/icons/favicon.ico b/resources/icons/favicon.ico new file mode 100644 index 0000000..9f74a39 Binary files /dev/null and b/resources/icons/favicon.ico differ diff --git a/resources/icons/manifest.json b/resources/icons/manifest.json new file mode 100644 index 0000000..013d4a6 --- /dev/null +++ b/resources/icons/manifest.json @@ -0,0 +1,41 @@ +{ + "name": "App", + "icons": [ + { + "src": "\/android-icon-36x36.png", + "sizes": "36x36", + "type": "image\/png", + "density": "0.75" + }, + { + "src": "\/android-icon-48x48.png", + "sizes": "48x48", + "type": "image\/png", + "density": "1.0" + }, + { + "src": "\/android-icon-72x72.png", + "sizes": "72x72", + "type": "image\/png", + "density": "1.5" + }, + { + "src": "\/android-icon-96x96.png", + "sizes": "96x96", + "type": "image\/png", + "density": "2.0" + }, + { + "src": "\/android-icon-144x144.png", + "sizes": "144x144", + "type": "image\/png", + "density": "3.0" + }, + { + "src": "\/android-icon-192x192.png", + "sizes": "192x192", + "type": "image\/png", + "density": "4.0" + } + ] +} \ No newline at end of file diff --git a/resources/icons/ms-icon-144x144.png b/resources/icons/ms-icon-144x144.png new file mode 100644 index 0000000..ebbe3f5 Binary files /dev/null and b/resources/icons/ms-icon-144x144.png differ diff --git a/resources/icons/ms-icon-150x150.png b/resources/icons/ms-icon-150x150.png new file mode 100644 index 0000000..0e17c3b Binary files /dev/null and b/resources/icons/ms-icon-150x150.png differ diff --git a/resources/icons/ms-icon-310x310.png b/resources/icons/ms-icon-310x310.png new file mode 100644 index 0000000..0e35934 Binary files /dev/null and b/resources/icons/ms-icon-310x310.png differ diff --git a/resources/icons/ms-icon-70x70.png b/resources/icons/ms-icon-70x70.png new file mode 100644 index 0000000..5c90458 Binary files /dev/null and b/resources/icons/ms-icon-70x70.png differ diff --git a/resources/icons/portal.ico.zip b/resources/icons/portal.ico.zip new file mode 100644 index 0000000..900cc3e Binary files /dev/null and b/resources/icons/portal.ico.zip differ diff --git a/resources/images/handbook/comp-chapter-icon.png b/resources/images/handbook/comp-chapter-icon.png new file mode 100644 index 0000000..9948c21 Binary files /dev/null and b/resources/images/handbook/comp-chapter-icon.png differ diff --git a/resources/images/handbook/sm-handbook-cover.jpg b/resources/images/handbook/sm-handbook-cover.jpg new file mode 100644 index 0000000..facf2eb Binary files /dev/null and b/resources/images/handbook/sm-handbook-cover.jpg differ diff --git a/resources/images/handbook/toolkit-chapter-icon.png b/resources/images/handbook/toolkit-chapter-icon.png new file mode 100644 index 0000000..275b9e8 Binary files /dev/null and b/resources/images/handbook/toolkit-chapter-icon.png differ diff --git a/resources/images/leaflet/bluepin.png b/resources/images/leaflet/bluepin.png new file mode 100644 index 0000000..f27f749 Binary files /dev/null and b/resources/images/leaflet/bluepin.png differ diff --git a/resources/images/leaflet/redpin.png b/resources/images/leaflet/redpin.png new file mode 100644 index 0000000..225cf30 Binary files /dev/null and b/resources/images/leaflet/redpin.png differ diff --git a/resources/images/mentors/alastair-lansley.jpg b/resources/images/mentors/alastair-lansley.jpg new file mode 100644 index 0000000..9feecd7 Binary files /dev/null and b/resources/images/mentors/alastair-lansley.jpg differ diff --git a/resources/images/mentors/alica-daly.jpg b/resources/images/mentors/alica-daly.jpg new file mode 100644 index 0000000..eea5132 Binary files /dev/null and b/resources/images/mentors/alica-daly.jpg differ diff --git a/resources/images/mentors/andrew-lalor.jpg b/resources/images/mentors/andrew-lalor.jpg new file mode 100644 index 0000000..29ecb8c Binary files /dev/null and b/resources/images/mentors/andrew-lalor.jpg differ diff --git a/resources/images/mentors/andrew-wilson.jpg b/resources/images/mentors/andrew-wilson.jpg new file mode 100644 index 0000000..737b69b Binary files /dev/null and b/resources/images/mentors/andrew-wilson.jpg differ diff --git a/resources/images/mentors/andrew-yu.jpg b/resources/images/mentors/andrew-yu.jpg new file mode 100644 index 0000000..ed032d8 Binary files /dev/null and b/resources/images/mentors/andrew-yu.jpg differ diff --git a/resources/images/mentors/anna-rigg.jpg b/resources/images/mentors/anna-rigg.jpg new file mode 100644 index 0000000..5682f6b Binary files /dev/null and b/resources/images/mentors/anna-rigg.jpg differ diff --git a/resources/images/mentors/anthony-nolan.jpg b/resources/images/mentors/anthony-nolan.jpg new file mode 100644 index 0000000..24e024f Binary files /dev/null and b/resources/images/mentors/anthony-nolan.jpg differ diff --git a/resources/images/mentors/ashish-shah.jpg b/resources/images/mentors/ashish-shah.jpg new file mode 100644 index 0000000..986c6f8 Binary files /dev/null and b/resources/images/mentors/ashish-shah.jpg differ diff --git a/resources/images/mentors/ben-raymond.jpg b/resources/images/mentors/ben-raymond.jpg new file mode 100644 index 0000000..0dfb803 Binary files /dev/null and b/resources/images/mentors/ben-raymond.jpg differ diff --git a/resources/images/mentors/betty-machalias.jpg b/resources/images/mentors/betty-machalias.jpg new file mode 100644 index 0000000..3322069 Binary files /dev/null and b/resources/images/mentors/betty-machalias.jpg differ diff --git a/resources/images/mentors/brendan-sainsbury.jpg b/resources/images/mentors/brendan-sainsbury.jpg new file mode 100644 index 0000000..0f60312 Binary files /dev/null and b/resources/images/mentors/brendan-sainsbury.jpg differ diff --git a/resources/images/mentors/brett-looney.jpg b/resources/images/mentors/brett-looney.jpg new file mode 100644 index 0000000..5ad1bc3 Binary files /dev/null and b/resources/images/mentors/brett-looney.jpg differ diff --git a/resources/images/mentors/byron-holde.jpg b/resources/images/mentors/byron-holde.jpg new file mode 100644 index 0000000..4c25e2d Binary files /dev/null and b/resources/images/mentors/byron-holde.jpg differ diff --git a/resources/images/mentors/cathy-kelso.jpg b/resources/images/mentors/cathy-kelso.jpg new file mode 100644 index 0000000..80d9b11 Binary files /dev/null and b/resources/images/mentors/cathy-kelso.jpg differ diff --git a/resources/images/mentors/chris-beer.jpg b/resources/images/mentors/chris-beer.jpg new file mode 100644 index 0000000..177954f Binary files /dev/null and b/resources/images/mentors/chris-beer.jpg differ diff --git a/resources/images/mentors/claire-sainsbury.jpg b/resources/images/mentors/claire-sainsbury.jpg new file mode 100644 index 0000000..9bc50aa Binary files /dev/null and b/resources/images/mentors/claire-sainsbury.jpg differ diff --git a/resources/images/mentors/craig-murphy.jpg b/resources/images/mentors/craig-murphy.jpg new file mode 100644 index 0000000..0103545 Binary files /dev/null and b/resources/images/mentors/craig-murphy.jpg differ diff --git a/resources/images/mentors/dan-siepen.png b/resources/images/mentors/dan-siepen.png new file mode 100644 index 0000000..bfbfc41 Binary files /dev/null and b/resources/images/mentors/dan-siepen.png differ diff --git a/resources/images/mentors/dan-woodrow.jpg b/resources/images/mentors/dan-woodrow.jpg new file mode 100644 index 0000000..a306d11 Binary files /dev/null and b/resources/images/mentors/dan-woodrow.jpg differ diff --git a/resources/images/mentors/danielle-storey.jpg b/resources/images/mentors/danielle-storey.jpg new file mode 100644 index 0000000..0a18a62 Binary files /dev/null and b/resources/images/mentors/danielle-storey.jpg differ diff --git a/resources/images/mentors/darren-reid.jpg b/resources/images/mentors/darren-reid.jpg new file mode 100644 index 0000000..0cd18c1 Binary files /dev/null and b/resources/images/mentors/darren-reid.jpg differ diff --git a/resources/images/mentors/dave-kuhl.jpg b/resources/images/mentors/dave-kuhl.jpg new file mode 100644 index 0000000..2815315 Binary files /dev/null and b/resources/images/mentors/dave-kuhl.jpg differ diff --git a/resources/images/mentors/david-ives.png b/resources/images/mentors/david-ives.png new file mode 100644 index 0000000..eb18e88 Binary files /dev/null and b/resources/images/mentors/david-ives.png differ diff --git a/resources/images/mentors/dr-sven-venema.jpeg b/resources/images/mentors/dr-sven-venema.jpeg new file mode 100644 index 0000000..2ca74ac Binary files /dev/null and b/resources/images/mentors/dr-sven-venema.jpeg differ diff --git a/resources/images/mentors/edwin-nguyen.jpg b/resources/images/mentors/edwin-nguyen.jpg new file mode 100644 index 0000000..b0d541c Binary files /dev/null and b/resources/images/mentors/edwin-nguyen.jpg differ diff --git a/resources/images/mentors/emma-jackson.jpg b/resources/images/mentors/emma-jackson.jpg new file mode 100644 index 0000000..e01ba95 Binary files /dev/null and b/resources/images/mentors/emma-jackson.jpg differ diff --git a/resources/images/mentors/frances-jones.jpg b/resources/images/mentors/frances-jones.jpg new file mode 100644 index 0000000..cb3f94a Binary files /dev/null and b/resources/images/mentors/frances-jones.jpg differ diff --git a/resources/images/mentors/frederick-bensia.jpg b/resources/images/mentors/frederick-bensia.jpg new file mode 100644 index 0000000..bfe65eb Binary files /dev/null and b/resources/images/mentors/frederick-bensia.jpg differ diff --git a/resources/images/mentors/gervase-tuxworth.jpeg b/resources/images/mentors/gervase-tuxworth.jpeg new file mode 100644 index 0000000..f43f3b7 Binary files /dev/null and b/resources/images/mentors/gervase-tuxworth.jpeg differ diff --git a/resources/images/mentors/greg-gough.jpg b/resources/images/mentors/greg-gough.jpg new file mode 100644 index 0000000..993ecaa Binary files /dev/null and b/resources/images/mentors/greg-gough.jpg differ diff --git a/resources/images/mentors/hamish-thorburn.jpg b/resources/images/mentors/hamish-thorburn.jpg new file mode 100644 index 0000000..fce6648 Binary files /dev/null and b/resources/images/mentors/hamish-thorburn.jpg differ diff --git a/resources/images/mentors/hugh-saalmans.jpg b/resources/images/mentors/hugh-saalmans.jpg new file mode 100644 index 0000000..6777516 Binary files /dev/null and b/resources/images/mentors/hugh-saalmans.jpg differ diff --git a/resources/images/mentors/hugh-stehlik.jpg b/resources/images/mentors/hugh-stehlik.jpg new file mode 100644 index 0000000..3853481 Binary files /dev/null and b/resources/images/mentors/hugh-stehlik.jpg differ diff --git a/resources/images/mentors/ingrid-van-uden.jpg b/resources/images/mentors/ingrid-van-uden.jpg new file mode 100644 index 0000000..f5dc9c6 Binary files /dev/null and b/resources/images/mentors/ingrid-van-uden.jpg differ diff --git a/resources/images/mentors/israel-perez.jpg b/resources/images/mentors/israel-perez.jpg new file mode 100644 index 0000000..112a7a1 Binary files /dev/null and b/resources/images/mentors/israel-perez.jpg differ diff --git a/resources/images/mentors/ivone-bennett.png b/resources/images/mentors/ivone-bennett.png new file mode 100644 index 0000000..d0589c3 Binary files /dev/null and b/resources/images/mentors/ivone-bennett.png differ diff --git a/resources/images/mentors/jacinta-holloway.jpg b/resources/images/mentors/jacinta-holloway.jpg new file mode 100644 index 0000000..096fa81 Binary files /dev/null and b/resources/images/mentors/jacinta-holloway.jpg differ diff --git a/resources/images/mentors/james-gregory.jpg b/resources/images/mentors/james-gregory.jpg new file mode 100644 index 0000000..a5f03bf Binary files /dev/null and b/resources/images/mentors/james-gregory.jpg differ diff --git a/resources/images/mentors/james-thompson.jpg b/resources/images/mentors/james-thompson.jpg new file mode 100644 index 0000000..1278ee5 Binary files /dev/null and b/resources/images/mentors/james-thompson.jpg differ diff --git a/resources/images/mentors/jan-haak.jpg b/resources/images/mentors/jan-haak.jpg new file mode 100644 index 0000000..5dad8df Binary files /dev/null and b/resources/images/mentors/jan-haak.jpg differ diff --git a/resources/images/mentors/jannatun-haque.jpg b/resources/images/mentors/jannatun-haque.jpg new file mode 100644 index 0000000..affc210 Binary files /dev/null and b/resources/images/mentors/jannatun-haque.jpg differ diff --git a/resources/images/mentors/jared-page.jpg b/resources/images/mentors/jared-page.jpg new file mode 100644 index 0000000..11ceaf4 Binary files /dev/null and b/resources/images/mentors/jared-page.jpg differ diff --git a/resources/images/mentors/jarrod-trevathan.jpg b/resources/images/mentors/jarrod-trevathan.jpg new file mode 100644 index 0000000..239c0be Binary files /dev/null and b/resources/images/mentors/jarrod-trevathan.jpg differ diff --git a/resources/images/mentors/jason-kermode.jpg b/resources/images/mentors/jason-kermode.jpg new file mode 100644 index 0000000..39cccb2 Binary files /dev/null and b/resources/images/mentors/jason-kermode.jpg differ diff --git a/resources/images/mentors/jason-plunkett.jpg b/resources/images/mentors/jason-plunkett.jpg new file mode 100644 index 0000000..a50510e Binary files /dev/null and b/resources/images/mentors/jason-plunkett.jpg differ diff --git a/resources/images/mentors/jens-klump.jpg b/resources/images/mentors/jens-klump.jpg new file mode 100644 index 0000000..9f8c237 Binary files /dev/null and b/resources/images/mentors/jens-klump.jpg differ diff --git a/resources/images/mentors/jess-robertson.png b/resources/images/mentors/jess-robertson.png new file mode 100644 index 0000000..4c31359 Binary files /dev/null and b/resources/images/mentors/jess-robertson.png differ diff --git a/resources/images/mentors/jesse-bugden.jpg b/resources/images/mentors/jesse-bugden.jpg new file mode 100644 index 0000000..a102b9d Binary files /dev/null and b/resources/images/mentors/jesse-bugden.jpg differ diff --git a/resources/images/mentors/joe-ortenzi.jpg b/resources/images/mentors/joe-ortenzi.jpg new file mode 100644 index 0000000..3b81147 Binary files /dev/null and b/resources/images/mentors/joe-ortenzi.jpg differ diff --git a/resources/images/mentors/joel-hampton.jpeg b/resources/images/mentors/joel-hampton.jpeg new file mode 100644 index 0000000..b51749d Binary files /dev/null and b/resources/images/mentors/joel-hampton.jpeg differ diff --git a/resources/images/mentors/johan-pang.jpg b/resources/images/mentors/johan-pang.jpg new file mode 100644 index 0000000..e1762f7 Binary files /dev/null and b/resources/images/mentors/johan-pang.jpg differ diff --git a/resources/images/mentors/johan-swanepoel.jpeg b/resources/images/mentors/johan-swanepoel.jpeg new file mode 100644 index 0000000..45a53d0 Binary files /dev/null and b/resources/images/mentors/johan-swanepoel.jpeg differ diff --git a/resources/images/mentors/joshua-rich.jpg b/resources/images/mentors/joshua-rich.jpg new file mode 100644 index 0000000..cb2b431 Binary files /dev/null and b/resources/images/mentors/joshua-rich.jpg differ diff --git a/resources/images/mentors/julian-smith.jpg b/resources/images/mentors/julian-smith.jpg new file mode 100644 index 0000000..0903789 Binary files /dev/null and b/resources/images/mentors/julian-smith.jpg differ diff --git a/resources/images/mentors/jun-qiao.jpg b/resources/images/mentors/jun-qiao.jpg new file mode 100644 index 0000000..33b01fe Binary files /dev/null and b/resources/images/mentors/jun-qiao.jpg differ diff --git a/resources/images/mentors/justin-dombrowski.jpg b/resources/images/mentors/justin-dombrowski.jpg new file mode 100644 index 0000000..f1bb792 Binary files /dev/null and b/resources/images/mentors/justin-dombrowski.jpg differ diff --git a/resources/images/mentors/kate-diete.jpg b/resources/images/mentors/kate-diete.jpg new file mode 100644 index 0000000..166d554 Binary files /dev/null and b/resources/images/mentors/kate-diete.jpg differ diff --git a/resources/images/mentors/keith-moss.jpg b/resources/images/mentors/keith-moss.jpg new file mode 100644 index 0000000..429d344 Binary files /dev/null and b/resources/images/mentors/keith-moss.jpg differ diff --git a/resources/images/mentors/kris-cala.png b/resources/images/mentors/kris-cala.png new file mode 100644 index 0000000..1fca231 Binary files /dev/null and b/resources/images/mentors/kris-cala.png differ diff --git a/resources/images/mentors/kristy-van-putten.jpg b/resources/images/mentors/kristy-van-putten.jpg new file mode 100644 index 0000000..2cf2b1f Binary files /dev/null and b/resources/images/mentors/kristy-van-putten.jpg differ diff --git a/resources/images/mentors/leandro-carvalho.jpg b/resources/images/mentors/leandro-carvalho.jpg new file mode 100644 index 0000000..24e8c6b Binary files /dev/null and b/resources/images/mentors/leandro-carvalho.jpg differ diff --git a/resources/images/mentors/linley-scorgie.jpg b/resources/images/mentors/linley-scorgie.jpg new file mode 100644 index 0000000..fc6958f Binary files /dev/null and b/resources/images/mentors/linley-scorgie.jpg differ diff --git a/resources/images/mentors/louis-dang.jpg b/resources/images/mentors/louis-dang.jpg new file mode 100644 index 0000000..5d668b9 Binary files /dev/null and b/resources/images/mentors/louis-dang.jpg differ diff --git a/resources/images/mentors/luke-travers.jpg b/resources/images/mentors/luke-travers.jpg new file mode 100644 index 0000000..0297cbc Binary files /dev/null and b/resources/images/mentors/luke-travers.jpg differ diff --git a/resources/images/mentors/marko-kovacevic.jpg b/resources/images/mentors/marko-kovacevic.jpg new file mode 100644 index 0000000..43bfa6f Binary files /dev/null and b/resources/images/mentors/marko-kovacevic.jpg differ diff --git a/resources/images/mentors/michael-dixon.jpg b/resources/images/mentors/michael-dixon.jpg new file mode 100644 index 0000000..92875fc Binary files /dev/null and b/resources/images/mentors/michael-dixon.jpg differ diff --git a/resources/images/mentors/michael-piotrowicz.jpg b/resources/images/mentors/michael-piotrowicz.jpg new file mode 100644 index 0000000..cc4acd1 Binary files /dev/null and b/resources/images/mentors/michael-piotrowicz.jpg differ diff --git a/resources/images/mentors/mike-weaver.jpg b/resources/images/mentors/mike-weaver.jpg new file mode 100644 index 0000000..e75d600 Binary files /dev/null and b/resources/images/mentors/mike-weaver.jpg differ diff --git a/resources/images/mentors/milan-kapasi.jpg b/resources/images/mentors/milan-kapasi.jpg new file mode 100644 index 0000000..14816c1 Binary files /dev/null and b/resources/images/mentors/milan-kapasi.jpg differ diff --git a/resources/images/mentors/mulvina-rowe.jpg b/resources/images/mentors/mulvina-rowe.jpg new file mode 100644 index 0000000..52edf0c Binary files /dev/null and b/resources/images/mentors/mulvina-rowe.jpg differ diff --git a/resources/images/mentors/nathan-sanchez-goodwin.jpg b/resources/images/mentors/nathan-sanchez-goodwin.jpg new file mode 100644 index 0000000..023267c Binary files /dev/null and b/resources/images/mentors/nathan-sanchez-goodwin.jpg differ diff --git a/resources/images/mentors/neil-roodyn.jpg b/resources/images/mentors/neil-roodyn.jpg new file mode 100644 index 0000000..a4bd046 Binary files /dev/null and b/resources/images/mentors/neil-roodyn.jpg differ diff --git a/resources/images/mentors/nicholas-flett.jpg b/resources/images/mentors/nicholas-flett.jpg new file mode 100644 index 0000000..484bb27 Binary files /dev/null and b/resources/images/mentors/nicholas-flett.jpg differ diff --git a/resources/images/mentors/paul-mccann.jpg b/resources/images/mentors/paul-mccann.jpg new file mode 100644 index 0000000..8629156 Binary files /dev/null and b/resources/images/mentors/paul-mccann.jpg differ diff --git a/resources/images/mentors/paul-stewart.jpg b/resources/images/mentors/paul-stewart.jpg new file mode 100644 index 0000000..c376d79 Binary files /dev/null and b/resources/images/mentors/paul-stewart.jpg differ diff --git a/resources/images/mentors/rafe-benli.jpg b/resources/images/mentors/rafe-benli.jpg new file mode 100644 index 0000000..6a8041d Binary files /dev/null and b/resources/images/mentors/rafe-benli.jpg differ diff --git a/resources/images/mentors/roger-rooney.jpg b/resources/images/mentors/roger-rooney.jpg new file mode 100644 index 0000000..010504c Binary files /dev/null and b/resources/images/mentors/roger-rooney.jpg differ diff --git a/resources/images/mentors/rowan-kelly.jpg b/resources/images/mentors/rowan-kelly.jpg new file mode 100644 index 0000000..e821775 Binary files /dev/null and b/resources/images/mentors/rowan-kelly.jpg differ diff --git a/resources/images/mentors/sarah-bolt.jpg b/resources/images/mentors/sarah-bolt.jpg new file mode 100644 index 0000000..e69874f Binary files /dev/null and b/resources/images/mentors/sarah-bolt.jpg differ diff --git a/resources/images/mentors/sarah-norman.jpg b/resources/images/mentors/sarah-norman.jpg new file mode 100644 index 0000000..a979dc5 Binary files /dev/null and b/resources/images/mentors/sarah-norman.jpg differ diff --git a/resources/images/mentors/shaila-pervin.jpg b/resources/images/mentors/shaila-pervin.jpg new file mode 100644 index 0000000..2ebf599 Binary files /dev/null and b/resources/images/mentors/shaila-pervin.jpg differ diff --git a/resources/images/mentors/sharyn-morrow.jpg b/resources/images/mentors/sharyn-morrow.jpg new file mode 100644 index 0000000..5954ba8 Binary files /dev/null and b/resources/images/mentors/sharyn-morrow.jpg differ diff --git a/resources/images/mentors/siddeswara-guru.jpg b/resources/images/mentors/siddeswara-guru.jpg new file mode 100644 index 0000000..0784520 Binary files /dev/null and b/resources/images/mentors/siddeswara-guru.jpg differ diff --git a/resources/images/mentors/steve-jones.jpg b/resources/images/mentors/steve-jones.jpg new file mode 100644 index 0000000..5ccbc83 Binary files /dev/null and b/resources/images/mentors/steve-jones.jpg differ diff --git a/resources/images/mentors/steven-chan.jpg b/resources/images/mentors/steven-chan.jpg new file mode 100644 index 0000000..ab37bbf Binary files /dev/null and b/resources/images/mentors/steven-chan.jpg differ diff --git a/resources/images/mentors/suraj-pandey.jpg b/resources/images/mentors/suraj-pandey.jpg new file mode 100644 index 0000000..cf0b82e Binary files /dev/null and b/resources/images/mentors/suraj-pandey.jpg differ diff --git a/resources/images/mentors/tim-nedyalkov.jpg b/resources/images/mentors/tim-nedyalkov.jpg new file mode 100644 index 0000000..47e0924 Binary files /dev/null and b/resources/images/mentors/tim-nedyalkov.jpg differ diff --git a/resources/images/mentors/toby-bellwood.jpeg b/resources/images/mentors/toby-bellwood.jpeg new file mode 100644 index 0000000..6be5337 Binary files /dev/null and b/resources/images/mentors/toby-bellwood.jpeg differ diff --git a/resources/images/mentors/tom-park.jpg b/resources/images/mentors/tom-park.jpg new file mode 100644 index 0000000..d6c36c1 Binary files /dev/null and b/resources/images/mentors/tom-park.jpg differ diff --git a/resources/images/mentors/venus-izadi.jpg b/resources/images/mentors/venus-izadi.jpg new file mode 100644 index 0000000..d7e8929 Binary files /dev/null and b/resources/images/mentors/venus-izadi.jpg differ diff --git a/resources/images/mentors/victor-li.jpg b/resources/images/mentors/victor-li.jpg new file mode 100644 index 0000000..c4e0f13 Binary files /dev/null and b/resources/images/mentors/victor-li.jpg differ diff --git a/resources/images/mentors/victor-ramanauskas.jpg b/resources/images/mentors/victor-ramanauskas.jpg new file mode 100644 index 0000000..30e8283 Binary files /dev/null and b/resources/images/mentors/victor-ramanauskas.jpg differ diff --git a/resources/images/mentors/vinod-ralh.jpg b/resources/images/mentors/vinod-ralh.jpg new file mode 100644 index 0000000..54c7d04 Binary files /dev/null and b/resources/images/mentors/vinod-ralh.jpg differ diff --git a/resources/images/mentors/virginia-wheway.jpg b/resources/images/mentors/virginia-wheway.jpg new file mode 100644 index 0000000..4c08003 Binary files /dev/null and b/resources/images/mentors/virginia-wheway.jpg differ diff --git a/resources/images/organisations/supporters/wa_dept_health.gif b/resources/images/organisations/supporters/wa_dept_health.gif new file mode 100644 index 0000000..814adb9 Binary files /dev/null and b/resources/images/organisations/supporters/wa_dept_health.gif differ diff --git a/resources/images/tiles/data2@2x.png b/resources/images/tiles/data2@2x.png new file mode 100644 index 0000000..376c786 Binary files /dev/null and b/resources/images/tiles/data2@2x.png differ diff --git a/resources/images/tiles/hackerspace@2x.png b/resources/images/tiles/hackerspace@2x.png new file mode 100644 index 0000000..7baf4ae Binary files /dev/null and b/resources/images/tiles/hackerspace@2x.png differ diff --git a/resources/images/tiles/handbook@2x.png b/resources/images/tiles/handbook@2x.png new file mode 100644 index 0000000..15152dc Binary files /dev/null and b/resources/images/tiles/handbook@2x.png differ diff --git a/resources/images/tiles/prize@2x.png b/resources/images/tiles/prize@2x.png new file mode 100644 index 0000000..7cbefbe Binary files /dev/null and b/resources/images/tiles/prize@2x.png differ diff --git a/resources/js/array-prototype-find-polyfill.js b/resources/js/array-prototype-find-polyfill.js new file mode 100644 index 0000000..30be435 --- /dev/null +++ b/resources/js/array-prototype-find-polyfill.js @@ -0,0 +1,24 @@ +'use strict'; + +if (!Array.prototype.find) { + Array.prototype.find = function(predicate) { + if (this == null) { + throw new TypeError('Array.prototype.find called on null or undefined'); + } + if (typeof predicate !== 'function') { + throw new TypeError('predicate must be a function'); + } + var list = Object(this); + var length = list.length >>> 0; + var thisArg = arguments[1]; + var value; + + for (var i = 0; i < length; i++) { + value = list[i]; + if (predicate.call(thisArg, value, i, list)) { + return value; + } + } + return undefined; + }; +} \ No newline at end of file diff --git a/resources/js/bootstrap-toc/v0.3.0/bootstrap-toc.min.js b/resources/js/bootstrap-toc/v0.3.0/bootstrap-toc.min.js new file mode 100644 index 0000000..9e9ae1a --- /dev/null +++ b/resources/js/bootstrap-toc/v0.3.0/bootstrap-toc.min.js @@ -0,0 +1,152 @@ +/*! + * Bootstrap Table of Contents v0.3.0 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +(function() { + 'use strict'; + + window.Toc = { + helpers: { + // return all matching elements in the set, or their descendants + findOrFilter: function($el, selector) { + // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ + // http://stackoverflow.com/a/12731439/358804 + var $descendants = $el.find(selector); + return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); + }, + + generateUniqueIdBase: function(el) { + var text = $(el).text(); + var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); + return anchor || el.tagName.toLowerCase(); + }, + + generateUniqueId: function(el) { + var anchorBase = this.generateUniqueIdBase(el); + for (var i = 0; ; i++) { + var anchor = anchorBase; + if (i > 0) { + // add suffix + anchor += '-' + i; + } + // check if ID already exists + if (!document.getElementById(anchor)) { + return anchor; + } + } + }, + + generateAnchor: function(el) { + if (el.id) { + return el.id; + } else { + var anchor = this.generateUniqueId(el); + el.id = anchor; + return anchor; + } + }, + + createNavList: function() { + return $(''); + }, + + createChildNavList: function($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }, + + generateNavItem: function(headingEl) { + var anchor = this.generateAnchor(headingEl); + var $heading = $(headingEl); + var text = $heading.data('toc-text') || $heading.text(); + return $('
  • ' + text + '
  • '); + }, + + // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). + getTopLevel: function($scope) { + var topLevel; + for (var i = 1; i < 4; i++) { + var $headings = this.findOrFilter($scope, 'h' + i); + if ($headings.length > 1) { + topLevel = i; + break; + } + } + + return topLevel || 1; + }, + + // returns the elements for the top level, and the next below it + getHeadings: function($scope, topLevel) { + var topSelector = 'h' + topLevel; + + var secondaryLevel = topLevel + 1; + var secondarySelector = 'h' + secondaryLevel; + + return this.findOrFilter($scope, topSelector + ',' + secondarySelector); + }, + + getNavLevel: function(el) { + return parseInt(el.tagName.charAt(1), 10); + }, + + populateNav: function($topContext, topLevel, $headings) { + var $context = $topContext; + var $prevNav; + + var helpers = this; + $headings.each(function(i, el) { + var $newNav = helpers.generateNavItem(el); + var navLevel = helpers.getNavLevel(el); + + // determine the proper $context + if (navLevel === topLevel) { + // use top level + $context = $topContext; + } else if ($prevNav && $context === $topContext) { + // create a new level of the tree and switch to it + $context = helpers.createChildNavList($prevNav); + } // else use the current $context + + $context.append($newNav); + + $prevNav = $newNav; + }); + }, + + parseOps: function(arg) { + var opts; + if (arg.jquery) { + opts = { + $nav: arg + }; + } else { + opts = arg; + } + opts.$scope = opts.$scope || $(document.body); + return opts; + } + }, + + // accepts a jQuery object, or an options object + init: function(opts) { + opts = this.helpers.parseOps(opts); + + // ensure that the data attribute is in place for styling + opts.$nav.attr('data-toggle', 'toc'); + + var $topContext = this.helpers.createChildNavList(opts.$nav); + var topLevel = this.helpers.getTopLevel(opts.$scope); + var $headings = this.helpers.getHeadings(opts.$scope, topLevel); + this.helpers.populateNav($topContext, topLevel, $headings); + } + }; + + $(function() { + $('nav[data-toggle="toc"]').each(function(i, el) { + var $nav = $(el); + Toc.init($nav); + }); + }); +})(); \ No newline at end of file diff --git a/resources/js/bootstrap.min.js b/resources/js/bootstrap.min.js new file mode 100644 index 0000000..e79c065 --- /dev/null +++ b/resources/js/bootstrap.min.js @@ -0,0 +1,7 @@ +/*! + * Bootstrap v3.3.6 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under the MIT license + */ +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>2)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.6",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.6",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.6",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.6",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.6",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth

    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.6",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.6",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.6",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/resources/js/cbpAnimatedHeader.min.js b/resources/js/cbpAnimatedHeader.min.js new file mode 100644 index 0000000..18d66a3 --- /dev/null +++ b/resources/js/cbpAnimatedHeader.min.js @@ -0,0 +1,11 @@ +/** + * cbpAnimatedHeader.min.js v1.0.0 + * http://www.codrops.com + * + * Licensed under the MIT license. + * http://www.opensource.org/licenses/mit-license.php + * + * Copyright 2013, Codrops + * http://www.codrops.com + */ +var cbpAnimatedHeader=(function(){var b=document.documentElement,g=document.querySelector(".navbar-default"),e=false,a=300;function f(){window.addEventListener("scroll",function(h){if(!e){e=true;setTimeout(d,250)}},false)}function d(){var h=c();if(h>=a){classie.add(g,"navbar-shrink")}else{classie.remove(g,"navbar-shrink")}e=false}function c(){return window.pageYOffset||b.scrollTop}f()})(); diff --git a/resources/js/classie.js b/resources/js/classie.js new file mode 100644 index 0000000..a967554 --- /dev/null +++ b/resources/js/classie.js @@ -0,0 +1,80 @@ +/*! + * classie - class helper functions + * from bonzo https://github.com/ded/bonzo + * + * classie.has( elem, 'my-class' ) -> true/false + * classie.add( elem, 'my-new-class' ) + * classie.remove( elem, 'my-unwanted-class' ) + * classie.toggle( elem, 'my-class' ) + */ + +/*jshint browser: true, strict: true, undef: true */ +/*global define: false */ + +( function( window ) { + +'use strict'; + +// class helper functions from bonzo https://github.com/ded/bonzo + +function classReg( className ) { + return new RegExp("(^|\\s+)" + className + "(\\s+|$)"); +} + +// classList support for class management +// altho to be fair, the api sucks because it won't accept multiple classes at once +var hasClass, addClass, removeClass; + +if ( 'classList' in document.documentElement ) { + hasClass = function( elem, c ) { + return elem.classList.contains( c ); + }; + addClass = function( elem, c ) { + elem.classList.add( c ); + }; + removeClass = function( elem, c ) { + elem.classList.remove( c ); + }; +} +else { + hasClass = function( elem, c ) { + return classReg( c ).test( elem.className ); + }; + addClass = function( elem, c ) { + if ( !hasClass( elem, c ) ) { + elem.className = elem.className + ' ' + c; + } + }; + removeClass = function( elem, c ) { + elem.className = elem.className.replace( classReg( c ), ' ' ); + }; +} + +function toggleClass( elem, c ) { + var fn = hasClass( elem, c ) ? removeClass : addClass; + fn( elem, c ); +} + +var classie = { + // full names + hasClass: hasClass, + addClass: addClass, + removeClass: removeClass, + toggleClass: toggleClass, + // short names + has: hasClass, + add: addClass, + remove: removeClass, + toggle: toggleClass +}; + +// transport +if ( typeof define === 'function' && define.amd ) { + // AMD + define( classie ); +} else { + // browser global + window.classie = classie; +} + +})( window ); diff --git a/resources/js/clean-blog.js b/resources/js/clean-blog.js new file mode 100644 index 0000000..443fe02 --- /dev/null +++ b/resources/js/clean-blog.js @@ -0,0 +1,39 @@ +/*! + * Clean Blog v1.0.0 (http://startbootstrap.com) + * Copyright 2014 Start Bootstrap + * Licensed under Apache 2.0 (https://github.com/IronSummitMedia/startbootstrap/blob/gh-pages/LICENSE) + */ + +/* Modified from the original source to remove unused code related to the contact form and validation. */ + +// Navigation Scripts to Show Header on Scroll-Up +/* +jQuery(document).ready(function($) { + var MQL = 1170; + + //primary navigation slide-in effect + if ($(window).width() > MQL) { + var headerHeight = $('.navbar-custom').height(); + $(window).on('scroll', { + previousTop: 0 + }, + function() { + var currentTop = $(window).scrollTop(); + //check if user is scrolling up + if (currentTop < this.previousTop) { + //if scrolling up... + if (currentTop > 0 && $('.navbar-custom').hasClass('is-fixed')) { + $('.navbar-custom').addClass('is-visible'); + } else { + $('.navbar-custom').removeClass('is-visible is-fixed'); + } + } else { + //if scrolling down... + $('.navbar-custom').removeClass('is-visible'); + if (currentTop > headerHeight && !$('.navbar-custom').hasClass('is-fixed')) $('.navbar-custom').addClass('is-fixed'); + } + this.previousTop = currentTop; + }); + } +}); +*/ diff --git a/resources/js/clean-blog.min.js b/resources/js/clean-blog.min.js new file mode 100644 index 0000000..0ff9bbb --- /dev/null +++ b/resources/js/clean-blog.min.js @@ -0,0 +1,7 @@ +/*! + * Clean Blog v1.0.0 (http://startbootstrap.com) + * Copyright 2014 Start Bootstrap + * Licensed under Apache 2.0 (https://github.com/IronSummitMedia/startbootstrap/blob/gh-pages/LICENSE) + */ + +$(function(){$("#contactFrom input,#contactForm textarea").jqBootstrapValidation({preventSubmit:!0,submitError:function(){},submitSuccess:function(a,b){b.preventDefault();var c=$("input#name").val(),d=$("input#email").val(),e=$("input#phone").val(),f=$("textarea#message").val(),g=c;g.indexOf(" ")>=0&&(g=c.split(" ").slice(0,-1).join(" ")),$.ajax({url:"././mail/contact_me.php",type:"POST",data:{name:c,phone:e,email:d,message:f},cache:!1,success:function(){$("#success").html("
    "),$("#success > .alert-success").html(""),$("#success > .alert-success").append("Your message has been sent. "),$("#success > .alert-success").append("
    "),$("#contactForm").trigger("reset")},error:function(){$("#success").html("
    "),$("#success > .alert-danger").html(""),$("#success > .alert-danger").append("Sorry "+g+", it seems that my mail server is not responding. Please try again later!"),$("#success > .alert-danger").append("
    "),$("#contactForm").trigger("reset")}})},filter:function(){return $(this).is(":visible")}}),$('a[data-toggle="tab"]').click(function(a){a.preventDefault(),$(this).tab("show")})}),$("#name").focus(function(){$("#success").html("")}),function(a){function b(a){return new RegExp("^"+a+"$")}function c(a,b){for(var c=Array.prototype.slice.call(arguments).splice(2),d=a.split("."),e=d.pop(),f=0;f'),e.find(".controls").append(h),d.push(h[0])),c.options.sniffHtml){var k="";if(void 0!==b.attr("pattern")&&(k="Not in the expected format",b.data("validationPatternMessage")&&(k=b.data("validationPatternMessage")),b.data("validationPatternMessage",k),b.data("validationPatternRegex",b.attr("pattern"))),void 0!==b.attr("max")||void 0!==b.attr("aria-valuemax")){var l=b.attr(void 0!==b.attr("max")?"max":"aria-valuemax");k="Too high: Maximum of '"+l+"'",b.data("validationMaxMessage")&&(k=b.data("validationMaxMessage")),b.data("validationMaxMessage",k),b.data("validationMaxMax",l)}if(void 0!==b.attr("min")||void 0!==b.attr("aria-valuemin")){var m=b.attr(void 0!==b.attr("min")?"min":"aria-valuemin");k="Too low: Minimum of '"+m+"'",b.data("validationMinMessage")&&(k=b.data("validationMinMessage")),b.data("validationMinMessage",k),b.data("validationMinMin",m)}void 0!==b.attr("maxlength")&&(k="Too long: Maximum of '"+b.attr("maxlength")+"' characters",b.data("validationMaxlengthMessage")&&(k=b.data("validationMaxlengthMessage")),b.data("validationMaxlengthMessage",k),b.data("validationMaxlengthMaxlength",b.attr("maxlength"))),void 0!==b.attr("minlength")&&(k="Too short: Minimum of '"+b.attr("minlength")+"' characters",b.data("validationMinlengthMessage")&&(k=b.data("validationMinlengthMessage")),b.data("validationMinlengthMessage",k),b.data("validationMinlengthMinlength",b.attr("minlength"))),(void 0!==b.attr("required")||void 0!==b.attr("aria-required"))&&(k=c.builtInValidators.required.message,b.data("validationRequiredMessage")&&(k=b.data("validationRequiredMessage")),b.data("validationRequiredMessage",k)),void 0!==b.attr("type")&&"number"===b.attr("type").toLowerCase()&&(k=c.builtInValidators.number.message,b.data("validationNumberMessage")&&(k=b.data("validationNumberMessage")),b.data("validationNumberMessage",k)),void 0!==b.attr("type")&&"email"===b.attr("type").toLowerCase()&&(k="Not a valid email address",b.data("validationValidemailMessage")?k=b.data("validationValidemailMessage"):b.data("validationEmailMessage")&&(k=b.data("validationEmailMessage")),b.data("validationValidemailMessage",k)),void 0!==b.attr("minchecked")&&(k="Not enough options checked; Minimum of '"+b.attr("minchecked")+"' required",b.data("validationMincheckedMessage")&&(k=b.data("validationMincheckedMessage")),b.data("validationMincheckedMessage",k),b.data("validationMincheckedMinchecked",b.attr("minchecked"))),void 0!==b.attr("maxchecked")&&(k="Too many options checked; Maximum of '"+b.attr("maxchecked")+"' required",b.data("validationMaxcheckedMessage")&&(k=b.data("validationMaxcheckedMessage")),b.data("validationMaxcheckedMessage",k),b.data("validationMaxcheckedMaxchecked",b.attr("maxchecked")))}void 0!==b.data("validation")&&(j=b.data("validation").split(",")),a.each(b.data(),function(a){var b=a.replace(/([A-Z])/g,",$1").split(",");"validation"===b[0]&&b[1]&&j.push(b[1])});var n=j,o=[];do a.each(j,function(a,b){j[a]=f(b)}),j=a.unique(j),o=[],a.each(n,function(d,e){if(void 0!==b.data("validation"+e+"Shortcut"))a.each(b.data("validation"+e+"Shortcut").split(","),function(a,b){o.push(b)});else if(c.builtInValidators[e.toLowerCase()]){var g=c.builtInValidators[e.toLowerCase()];"shortcut"===g.type.toLowerCase()&&a.each(g.shortcut.split(","),function(a,b){b=f(b),o.push(b),j.push(b)})}}),n=o;while(n.length>0);var p={};a.each(j,function(d,e){var g=b.data("validation"+e+"Message"),h=void 0!==g,i=!1;if(g=g?g:"'"+e+"' validation failed ",a.each(c.validatorTypes,function(c,d){void 0===p[c]&&(p[c]=[]),i||void 0===b.data("validation"+e+f(d.name))||(p[c].push(a.extend(!0,{name:f(d.name),message:g},d.init(b,e))),i=!0)}),!i&&c.builtInValidators[e.toLowerCase()]){var j=a.extend(!0,{},c.builtInValidators[e.toLowerCase()]);h&&(j.message=g);var k=j.type.toLowerCase();"shortcut"===k?i=!0:a.each(c.validatorTypes,function(c,d){void 0===p[c]&&(p[c]=[]),i||k!==c.toLowerCase()||(b.data("validation"+e+f(d.name),j[d.name.toLowerCase()]),p[k].push(a.extend(j,d.init(b,e))),i=!0)})}i||a.error("Cannot find validation info for '"+e+"'")}),h.data("original-contents",h.data("original-contents")?h.data("original-contents"):h.html()),h.data("original-role",h.data("original-role")?h.data("original-role"):h.attr("role")),e.data("original-classes",e.data("original-clases")?e.data("original-classes"):e.attr("class")),b.data("original-aria-invalid",b.data("original-aria-invalid")?b.data("original-aria-invalid"):b.attr("aria-invalid")),b.bind("validation.validation",function(d,e){var f=g(b),h=[];return a.each(p,function(d,g){(f||f.length||e&&e.includeEmpty||c.validatorTypes[d].blockSubmit&&e&&e.submitting)&&a.each(g,function(a,e){c.validatorTypes[d].validate(b,f,e)&&h.push(e.message)})}),h}),b.bind("getValidators.validation",function(){return p}),b.bind("submit.validation",function(){return b.triggerHandler("change.validation",{submitting:!0})}),b.bind(["keyup","focus","blur","click","keydown","keypress","change"].join(".validation ")+".validation",function(d,f){var j=g(b),k=[];e.find("input,textarea,select").each(function(c,d){var e=k.length;if(a.each(a(d).triggerHandler("validation.validation",f),function(a,b){k.push(b)}),k.length>e)a(d).attr("aria-invalid","true");else{var g=b.data("original-aria-invalid");a(d).attr("aria-invalid",void 0!==g?g:!1)}}),i.find("input,select,textarea").not(b).not('[name="'+b.attr("name")+'"]').trigger("validationLostFocus.validation"),k=a.unique(k.sort()),k.length?(e.removeClass("success error").addClass("warning"),h.html(c.options.semanticallyStrict&&1===k.length?k[0]+(c.options.prependExistingHelpBlock?h.data("original-contents"):""):'
    • '+k.join("
    • ")+"
    "+(c.options.prependExistingHelpBlock?h.data("original-contents"):""))):(e.removeClass("warning error success"),j.length>0&&e.addClass("success"),h.html(h.data("original-contents"))),"blur"===d.type&&e.removeClass("success")}),b.bind("validationLostFocus.validation",function(){e.removeClass("success")})})},destroy:function(){return this.each(function(){var b=a(this),c=b.parents(".form-group").first(),e=c.find(".help-block").first();b.unbind(".validation"),e.html(e.data("original-contents")),c.attr("class",c.data("original-classes")),b.attr("aria-invalid",b.data("original-aria-invalid")),e.attr("role",b.data("original-role")),d.indexOf(e[0])>-1&&e.remove()})},collectErrors:function(){var b={};return this.each(function(c,d){var e=a(d),f=e.attr("name"),g=e.triggerHandler("validation.validation",{includeEmpty:!0});b[f]=a.extend(!0,g,b[f])}),a.each(b,function(a,c){0===c.length&&delete b[a]}),b},hasErrors:function(){var b=[];return this.each(function(c,d){b=b.concat(a(d).triggerHandler("getValidators.validation")?a(d).triggerHandler("validation.validation",{submitting:!0}):[])}),b.length>0},override:function(b){e=a.extend(!0,e,b)}},validatorTypes:{callback:{name:"callback",init:function(a,b){return{validatorName:b,callback:a.data("validation"+b+"Callback"),lastValue:a.val(),lastValid:!0,lastFinished:!0}},validate:function(a,b,d){if(d.lastValue===b&&d.lastFinished)return!d.lastValid;if(d.lastFinished===!0){d.lastValue=b,d.lastValid=!0,d.lastFinished=!1;var e=d,f=a;c(d.callback,window,a,b,function(a){e.lastValue===a.value&&(e.lastValid=a.valid,a.message&&(e.message=a.message),e.lastFinished=!0,f.data("validation"+e.validatorName+"Message",e.message),setTimeout(function(){f.trigger("change.validation")},1))})}return!1}},ajax:{name:"ajax",init:function(a,b){return{validatorName:b,url:a.data("validation"+b+"Ajax"),lastValue:a.val(),lastValid:!0,lastFinished:!0}},validate:function(b,c,d){return""+d.lastValue==""+c&&d.lastFinished===!0?d.lastValid===!1:(d.lastFinished===!0&&(d.lastValue=c,d.lastValid=!0,d.lastFinished=!1,a.ajax({url:d.url,data:"value="+c+"&field="+b.attr("name"),dataType:"json",success:function(a){""+d.lastValue==""+a.value&&(d.lastValid=!!a.valid,a.message&&(d.message=a.message),d.lastFinished=!0,b.data("validation"+d.validatorName+"Message",d.message),setTimeout(function(){b.trigger("change.validation")},1))},failure:function(){d.lastValid=!0,d.message="ajax call failed",d.lastFinished=!0,b.data("validation"+d.validatorName+"Message",d.message),setTimeout(function(){b.trigger("change.validation")},1)}})),!1)}},regex:{name:"regex",init:function(a,c){return{regex:b(a.data("validation"+c+"Regex"))}},validate:function(a,b,c){return!c.regex.test(b)&&!c.negative||c.regex.test(b)&&c.negative}},required:{name:"required",init:function(){return{}},validate:function(a,b,c){return!(0!==b.length||c.negative)||!!(b.length>0&&c.negative)},blockSubmit:!0},match:{name:"match",init:function(a,b){var c=a.parents("form").first().find('[name="'+a.data("validation"+b+"Match")+'"]').first();return c.bind("validation.validation",function(){a.trigger("change.validation",{submitting:!0})}),{element:c}},validate:function(a,b,c){return b!==c.element.val()&&!c.negative||b===c.element.val()&&c.negative},blockSubmit:!0},max:{name:"max",init:function(a,b){return{max:a.data("validation"+b+"Max")}},validate:function(a,b,c){return parseFloat(b,10)>parseFloat(c.max,10)&&!c.negative||parseFloat(b,10)<=parseFloat(c.max,10)&&c.negative}},min:{name:"min",init:function(a,b){return{min:a.data("validation"+b+"Min")}},validate:function(a,b,c){return parseFloat(b)=parseFloat(c.min)&&c.negative}},maxlength:{name:"maxlength",init:function(a,b){return{maxlength:a.data("validation"+b+"Maxlength")}},validate:function(a,b,c){return b.length>c.maxlength&&!c.negative||b.length<=c.maxlength&&c.negative}},minlength:{name:"minlength",init:function(a,b){return{minlength:a.data("validation"+b+"Minlength")}},validate:function(a,b,c){return b.length=c.minlength&&c.negative}},maxchecked:{name:"maxchecked",init:function(a,b){var c=a.parents("form").first().find('[name="'+a.attr("name")+'"]');return c.bind("click.validation",function(){a.trigger("change.validation",{includeEmpty:!0})}),{maxchecked:a.data("validation"+b+"Maxchecked"),elements:c}},validate:function(a,b,c){return c.elements.filter(":checked").length>c.maxchecked&&!c.negative||c.elements.filter(":checked").length<=c.maxchecked&&c.negative},blockSubmit:!0},minchecked:{name:"minchecked",init:function(a,b){var c=a.parents("form").first().find('[name="'+a.attr("name")+'"]');return c.bind("click.validation",function(){a.trigger("change.validation",{includeEmpty:!0})}),{minchecked:a.data("validation"+b+"Minchecked"),elements:c}},validate:function(a,b,c){return c.elements.filter(":checked").length=c.minchecked&&c.negative},blockSubmit:!0}},builtInValidators:{email:{name:"Email",type:"shortcut",shortcut:"validemail"},validemail:{name:"Validemail",type:"regex",regex:"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}",message:"Not a valid email address"},passwordagain:{name:"Passwordagain",type:"match",match:"password",message:"Does not match the given password"},positive:{name:"Positive",type:"shortcut",shortcut:"number,positivenumber"},negative:{name:"Negative",type:"shortcut",shortcut:"number,negativenumber"},number:{name:"Number",type:"regex",regex:"([+-]?\\d+(\\.\\d*)?([eE][+-]?[0-9]+)?)?",message:"Must be a number"},integer:{name:"Integer",type:"regex",regex:"[+-]?\\d+",message:"No decimal places allowed"},positivenumber:{name:"Positivenumber",type:"min",min:0,message:"Must be a positive number"},negativenumber:{name:"Negativenumber",type:"max",max:0,message:"Must be a negative number"},required:{name:"Required",type:"required",message:"This is required"},checkone:{name:"Checkone",type:"minchecked",minchecked:1,message:"Check at least one option"}}},f=function(a){return a.toLowerCase().replace(/(^|\s)([a-z])/g,function(a,b,c){return b+c.toUpperCase()})},g=function(b){var c=b.val(),d=b.attr("type");return"checkbox"===d&&(c=b.is(":checked")?c:""),"radio"===d&&(c=a('input[name="'+b.attr("name")+'"]:checked').length>0?c:""),c};a.fn.jqBootstrapValidation=function(b){return e.methods[b]?e.methods[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?(a.error("Method "+b+" does not exist on jQuery.jqBootstrapValidation"),null):e.methods.init.apply(this,arguments)},a.jqBootstrapValidation=function(){a(":input").not("[type=image],[type=submit]").jqBootstrapValidation.apply(this,arguments)}}(jQuery),$(function(){$("body").on("input propertychange",".floating-label-form-group",function(a){$(this).toggleClass("floating-label-form-group-with-value",!!$(a.target).val())}).on("focus",".floating-label-form-group",function(){$(this).addClass("floating-label-form-group-with-focus")}).on("blur",".floating-label-form-group",function(){$(this).removeClass("floating-label-form-group-with-focus")})}),jQuery(document).ready(function(a){var b=1170;if(a(window).width()>b){var c=a(".navbar-custom").height();a(window).on("scroll",{previousTop:0},function(){var b=a(window).scrollTop();b0&&a(".navbar-custom").hasClass("is-fixed")?a(".navbar-custom").addClass("is-visible"):a(".navbar-custom").removeClass("is-visible is-fixed"):(a(".navbar-custom").removeClass("is-visible"),b>c&&!a(".navbar-custom").hasClass("is-fixed")&&a(".navbar-custom").addClass("is-fixed")),this.previousTop=b})}}); \ No newline at end of file diff --git a/resources/js/handbook.js b/resources/js/handbook.js new file mode 100644 index 0000000..484be1a --- /dev/null +++ b/resources/js/handbook.js @@ -0,0 +1,312 @@ +/** For portal.govhack.org/handbook **/ +var HB = (function(){ + 'use strict'; + + var self = {}; + self.enableSidebarDrag = enableSidebarDrag; + self.groupHeadings = groupHeadings; + self.collapsePageContent = collapsePageContent; + self.updateSelectedLocation = updateSelectedLocation; + self.storage = new handbookStorage(); + return self; + + /** + * Specifically, make the sidebar variable in width + */ + function enableSidebarDrag(selectorSidebar, selectorMain){ + + if (!selectorSidebar) throw 'Argument 1 must be a CSS selector'; + if (!selectorMain) throw 'Argument 2 must be a CSS selector'; + + var elemSidebar = document.querySelector(selectorSidebar); + var elemMain = document.querySelector(selectorMain); + + elemSidebar.addEventListener('click', function init() { + elemSidebar.removeEventListener('click', init, false); + elemSidebar.className = elemSidebar.className + ' resizable'; + var resizer = document.createElement('div'); + resizer.className = 'resizer-handle'; + elemSidebar.appendChild(resizer); + resizer.addEventListener('mousedown', initDrag, false); + }, false); + + var startX, sidebarStartWidth, mainStartLeft; + var sidebarMinWidth, sidebarMaxWidth; + // var startY, startHeight; + + function initDrag(e) { + startX = e.clientX; + // startY = e.clientY; + sidebarStartWidth = parseInt(document.defaultView.getComputedStyle(elemSidebar).width, 10); + sidebarMinWidth = parseInt(document.defaultView.getComputedStyle(elemSidebar).minWidth, 10); + sidebarMaxWidth = parseInt(document.defaultView.getComputedStyle(elemSidebar).maxWidth, 10); + mainStartLeft = parseInt(document.defaultView.getComputedStyle(elemMain).left, 10); + // startHeight = parseInt(document.defaultView.getComputedStyle(elemSidebar).height, 10); + document.documentElement.addEventListener('mousemove', doDrag, false); + document.documentElement.addEventListener('mouseup', stopDrag, false); + } + + function doDrag(e) { + var isAboveMin = sidebarStartWidth + e.clientX - startX > sidebarMinWidth; + var isBelowMax = sidebarStartWidth + e.clientX - startX < sidebarMaxWidth; + if (isAboveMin && isBelowMax){ + elemSidebar.style.width = (sidebarStartWidth + e.clientX - startX) + 'px'; + elemMain.style.left = (mainStartLeft + e.clientX - startX) + 'px'; + } + // elemSidebar.style.height = (startHeight + e.clientY - startY) + 'px'; + } + + function stopDrag(e) { + document.documentElement.removeEventListener('mousemove', doDrag, false); + document.documentElement.removeEventListener('mouseup', stopDrag, false); + } + } + + /** + * Implements a grouping spec as per what our collapse plugin expects: + * https://github.com/danielstocks/jQuery-Collapse#usage + * + * @param jQuery element + */ + function groupHeadings($elem, headingTagNames){ + + if (!$elem) throw 'No jQuery element was provided in argument 1'; + headingTagNames = headingTagNames || ['h1', 'h2']; + + var $shadow = $('
    '); + var $subcontent = $('
    '); + $elem.children().each(function(){ + var $this = $(this); + var tagName = $this.prop('tagName').toLowerCase(); + if (~headingTagNames.indexOf(tagName)){ + // Wrap up the old one, push it into shadow. + $this.addClass('heading-toggle'); + $subcontent.clone().appendTo($shadow); + $this.clone().appendTo($shadow); + $subcontent = $('
    '); + } + else { + $this.appendTo($subcontent); + } + }); + if ($subcontent){ + $subcontent.clone().appendTo($shadow); + } + // Switcharoo + $elem.empty(); + $shadow.children().appendTo($elem); + // delete $shadow; + } + + /** + * An IO class for localStorage (or could be made into + * a adapter, later down the track) + */ + function handbookStorage(){ + + if (!window.localStorage){ + console.warn('No localstorage'); + return; + } + this.get = function(key){ + return window.localStorage.getItem(lsk(key)); + } + this.set = function(key, value){ + window.localStorage.setItem(lsk(key), value); + } + + //======================== + + var locationIdKey = 'event_gid'; + var locationNameKey = 'event_name'; + this.hasLocation = function(){ + return !!window.localStorage.getItem(lsk(locationIdKey)); + } + this.getLocation = function(locationLoadedCallback){ + var id = window.localStorage.getItem(lsk(locationIdKey)); + var name = window.localStorage.getItem(lsk(locationNameKey)); + var location = { + id: id, + name: name + }; + retrieveLocationApi(id).done(function(data){ + $.extend(location, data || {}); + (locationLoadedCallback || $.noop)(location); + }); + return location; + } + this.setLocation = function(values){ + if (typeof values === 'string'){ + var id = values; + values = { id: id }; + } + // if (!values.gid) throw 'Argument 1 must be an object that contains field `gid`'; + // values = $.extend({ + // gid: 'sydney', + // name: 'sydney' + // }, values || {}); + window.localStorage.setItem(lsk(locationIdKey), values.id); + window.localStorage.setItem(lsk(locationNameKey), values.name); + } + + // Alias + this.hasVenue = this.hasLocation; + this.getVenue = this.getLocation; + this.setVenue = this.setLocation; + + + //======================== + + function lsk(key){ + var localStorageKey = 'govhackhandbook'; + return [localStorageKey, key].join('_'); + } + + function retrieveLocationApi(locationId){ + // returns a promise with .done(), .fail() and .always() + var $prom = $.get('/feed/locations/all.json'); + if (locationId){ + return $prom.then(function(data){ + if ($.isArray(data)){ + return data.find(function(location){ + return location.id === locationId; + }); + } + return data; + }); + } + return $prom; + } + + } + + /** + * A standardised collapser function + * + * @param jQuery A jQuerified element + * @param Object See the $.extend for the default opts + */ + function collapsePageContent($collapseTargetParent, opts){ + if (!$collapseTargetParent) throw 'Must provide parent element as argument 1'; + + if (HB.storage.get('show_sections_expanded') === 'yes'){ + console.warn('User has opted out of accordions'); + return; + } + + opts = $.extend({ + validHeadingTags: ['h1', 'h2', 'h3'], + headingThreshold: 3 + }, opts || {}); + + if ($collapseTargetParent.find(opts.validHeadingTags.join(', ')).length >= opts.headingThreshold){ + + // Groupify everything into heading+content pairs then + // run el collapso https://github.com/danielstocks/jQuery-Collapse + + groupHeadings($collapseTargetParent, opts.validHeadingTags); + + $collapseTargetParent.collapse({ + query: opts.validHeadingTags.join(', '), + persist: true, + open: function(){ + this.slideDown(100); + }, + close: function(){ + this.slideUp(100); + } + }); + + } + + } + + /** + * This is a fucking monstrosity + * + * @param string A common selector prefix-namespace for the tags we'll target + */ + function updateSelectedLocation(labelPrefix){ + labelPrefix = labelPrefix || '#custom-location'; + // Show customised event name + var $customLocationNames = $(labelPrefix + '-name-help').add(labelPrefix + '-sidebar-button-label'); + var $customLocationFullNames = $(labelPrefix + '-sidebar-label'); + var $customLocationSidebarLabel = $(labelPrefix + '-sidebar-label'); + var $customLocationSidebarPlaceholderLabel = $(labelPrefix + '-sidebar-placeholder-label'); + var $customLocationSidebarLink = $(labelPrefix + '-sidebar-link'); + var $customLocationHelpLink = $(labelPrefix + '-help-link'); + var $customLocationSection = $(labelPrefix + '-selected'); + var $customLocationTableHostInfo = $(labelPrefix + '-table-host-info'); + var $customLocationTableVenueInfo = $(labelPrefix + '-table-venue-info'); + var $customLocationHelpSections = $(labelPrefix + '-help-section-venue'); + if (HB.storage.getLocation().id){ + var event = HB.storage.getLocation(function(){ + if (event.name){ + $customLocationNames.text(event.name); + $customLocationFullNames.text([(event.prefix || ''), event.name, (event.type ? '('+event.type+')' : '')].join(' ')); + } + if (event.url){ + $customLocationSidebarLink.attr('href', event.url); + $customLocationHelpLink.attr('href', event.url); + } + else { + $customLocationHelpLink.attr('href', '#/no-page-found'); + $customLocationSidebarLink.attr('href', '#/no-page-found'); + } + if (event.venue){ + $customLocationHelpSections.show(); + $customLocationTableHostInfo.append(''); + $customLocationTableVenueInfo.append(''); + if (event.venue.host){ + var $trHost = $(''); + var $trHostText = $(''); + $trHost.append('Host'); + $trHostText.append(event.venue.host); + if (event.contact && event.contact.email){ + $trHostText.append('  send email'); + } + $trHost.append($trHostText); + $trHost.appendTo($customLocationTableHostInfo.find('tbody')); + } + if (event.venue.team){ + var $trTeam = $(''); + $trTeam.append('Team'); + $trTeam.append(''+event.venue.team+'  '); + $trTeam.appendTo($customLocationTableHostInfo.find('tbody')); + } + + if (event.venue.name){ + var $trVenue = $(''); + $trVenue.append('Venue name'); + $trVenue.append(''+event.venue.name+''); + $trVenue.appendTo($customLocationTableVenueInfo.find('tbody')); + } + + ['friday', 'saturday', 'sunday'].forEach(function(dayName){ + if (event.times && event.times.hasOwnProperty(dayName)){ + var $trDay = $(''); + $trDay.append(''+dayName.charAt(0).toUpperCase()+dayName.slice(1)+' times'); + $trDay.append(''+event.times[dayName].open+' to '+event.times[dayName].close+''); + $trDay.appendTo($customLocationTableVenueInfo.find('tbody')); + } + }); + + + } + $customLocationSection.addClass('custom-event-selected'); + $customLocationSidebarPlaceholderLabel.hide(); + $customLocationSidebarLabel.add($customLocationSidebarLink).show(); + }); + } + else { + $customLocationNames.add($customLocationFullNames).each(function(){ + $(this).text($(this).data('originalLabel')); + }); + $customLocationSection.removeClass('custom-event-selected'); + $customLocationSidebarLabel.add($customLocationSidebarLink).hide(); + $customLocationSidebarPlaceholderLabel.show(); + $customLocationHelpSections.hide(); + } + } + +}()); \ No newline at end of file diff --git a/resources/js/holder.min.js b/resources/js/holder.min.js new file mode 100644 index 0000000..127534f --- /dev/null +++ b/resources/js/holder.min.js @@ -0,0 +1,12 @@ +/*! + +Holder - client side image placeholders +Version 2.9.0+f2dkw +© 2015 Ivan Malopinsky - http://imsky.co + +Site: http://holderjs.com +Issues: https://github.com/imsky/holder/issues +License: MIT + +*/ +!function(e){if(e.document){var t=e.document;t.querySelectorAll||(t.querySelectorAll=function(n){var r,i=t.createElement("style"),o=[];for(t.documentElement.firstChild.appendChild(i),t._qsa=[],i.styleSheet.cssText=n+"{x-qsa:expression(document._qsa && document._qsa.push(this))}",e.scrollBy(0,0),i.parentNode.removeChild(i);t._qsa.length;)r=t._qsa.shift(),r.style.removeAttribute("x-qsa"),o.push(r);return t._qsa=null,o}),t.querySelector||(t.querySelector=function(e){var n=t.querySelectorAll(e);return n.length?n[0]:null}),t.getElementsByClassName||(t.getElementsByClassName=function(e){return e=String(e).replace(/^|\s+/g,"."),t.querySelectorAll(e)}),Object.keys||(Object.keys=function(e){if(e!==Object(e))throw TypeError("Object.keys called on non-object");var t,n=[];for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.push(t);return n}),Array.prototype.forEach||(Array.prototype.forEach=function(e){if(void 0===this||null===this)throw TypeError();var t=Object(this),n=t.length>>>0;if("function"!=typeof e)throw TypeError();var r,i=arguments[1];for(r=0;n>r;r++)r in t&&e.call(i,t[r],r,t)}),function(e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";e.atob=e.atob||function(e){e=String(e);var n,r=0,i=[],o=0,a=0;if(e=e.replace(/\s/g,""),e.length%4===0&&(e=e.replace(/=+$/,"")),e.length%4===1)throw Error("InvalidCharacterError");if(/[^+/0-9A-Za-z]/.test(e))throw Error("InvalidCharacterError");for(;r>16&255)),i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o)),a=0,o=0),r+=1;return 12===a?(o>>=4,i.push(String.fromCharCode(255&o))):18===a&&(o>>=2,i.push(String.fromCharCode(o>>8&255)),i.push(String.fromCharCode(255&o))),i.join("")},e.btoa=e.btoa||function(e){e=String(e);var n,r,i,o,a,s,l,h=0,u=[];if(/[^\x00-\xFF]/.test(e))throw Error("InvalidCharacterError");for(;h>2,a=(3&n)<<4|r>>4,s=(15&r)<<2|i>>6,l=63&i,h===e.length+2?(s=64,l=64):h===e.length+1&&(l=64),u.push(t.charAt(o),t.charAt(a),t.charAt(s),t.charAt(l));return u.join("")}}(e),Object.prototype.hasOwnProperty||(Object.prototype.hasOwnProperty=function(e){var t=this.__proto__||this.constructor.prototype;return e in this&&(!(e in t)||t[e]!==this[e])}),function(){if("performance"in e==!1&&(e.performance={}),Date.now=Date.now||function(){return(new Date).getTime()},"now"in e.performance==!1){var t=Date.now();performance.timing&&performance.timing.navigationStart&&(t=performance.timing.navigationStart),e.performance.now=function(){return Date.now()-t}}}(),e.requestAnimationFrame||(e.webkitRequestAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return webkitRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=webkitCancelAnimationFrame}(e):e.mozRequestAnimationFrame?!function(e){e.requestAnimationFrame=function(t){return mozRequestAnimationFrame(function(){t(e.performance.now())})},e.cancelAnimationFrame=mozCancelAnimationFrame}(e):!function(e){e.requestAnimationFrame=function(t){return e.setTimeout(t,1e3/60)},e.cancelAnimationFrame=e.clearTimeout}(e))}}(this),function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Holder=t():e.Holder=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={exports:{},id:r,loaded:!1};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){e.exports=n(1)},function(e,t,n){(function(t){function r(e,t,n,r){var a=i(n.substr(n.lastIndexOf(e.domain)),e);a&&o({mode:null,el:r,flags:a,engineSettings:t})}function i(e,t){var n={theme:T(F.settings.themes.gray,null),stylesheets:t.stylesheets,instanceOptions:t},r=e.split("?"),i=r[0].split("/");n.holderURL=e;var o=i[1],a=o.match(/([\d]+p?)x([\d]+p?)/);if(!a)return!1;if(n.fluid=-1!==o.indexOf("p"),n.dimensions={width:a[1].replace("p","%"),height:a[2].replace("p","%")},2===r.length){var s=v.parse(r[1]);if(s.bg&&(n.theme.bg=w.parseColor(s.bg)),s.fg&&(n.theme.fg=w.parseColor(s.fg)),s.bg&&!s.fg&&(n.autoFg=!0),s.theme&&n.instanceOptions.themes.hasOwnProperty(s.theme)&&(n.theme=T(n.instanceOptions.themes[s.theme],null)),s.text&&(n.text=s.text),s.textmode&&(n.textmode=s.textmode),s.size&&(n.size=s.size),s.font&&(n.font=s.font),s.align&&(n.align=s.align),s.lineWrap&&(n.lineWrap=s.lineWrap),n.nowrap=w.truthy(s.nowrap),n.auto=w.truthy(s.auto),n.outline=w.truthy(s.outline),w.truthy(s.random)){F.vars.cache.themeKeys=F.vars.cache.themeKeys||Object.keys(n.instanceOptions.themes);var l=F.vars.cache.themeKeys[0|Math.random()*F.vars.cache.themeKeys.length];n.theme=T(n.instanceOptions.themes[l],null)}}return n}function o(e){var t=e.mode,n=e.el,r=e.flags,i=e.engineSettings,o=r.dimensions,s=r.theme,l=o.width+"x"+o.height;t=null==t?r.fluid?"fluid":"image":t;var d=/holder_([a-z]+)/g,c=!1;if(null!=r.text&&(s.text=r.text,"object"===n.nodeName.toLowerCase())){for(var f=s.text.split("\\n"),p=0;p1){var b,x=0,A=0,C=0;w=new s.Group("line"+C),("left"===e.align||"right"===e.align)&&(o=e.width*(1-2*(1-r)));for(var E=0;E=o||k===!0)&&(t(g,w,x,g.properties.leading),g.add(w),x=0,A+=g.properties.leading,C+=1,w=new s.Group("line"+C),w.y=A),k!==!0&&(v.moveTo(x,0),x+=m.spaceWidth+T.width,w.add(v))}if(t(g,w,x,g.properties.leading),g.add(w),"left"===e.align)g.moveTo(e.width-i,null,null);else if("right"===e.align){for(b in g.children)w=g.children[b],w.moveTo(e.width-w.width,null,null);g.moveTo(0-(e.width-i),null,null)}else{for(b in g.children)w=g.children[b],w.moveTo((g.width-w.width)/2,null,null);g.moveTo((e.width-g.width)/2,null,null)}g.moveTo(null,(e.height-g.height)/2,null),(e.height-g.height)/2<0&&g.moveTo(null,0,null)}else v=new s.Text(e.text),w=new s.Group("line0"),w.add(v),g.add(w),"left"===e.align?g.moveTo(e.width-i,null,null):"right"===e.align?g.moveTo(0-(e.width-i),null,null):g.moveTo((e.width-m.boundingBox.width)/2,null,null),g.moveTo(null,(e.height-m.boundingBox.height)/2,null);return a}function l(e,t,n,r){var i=parseInt(e,10),o=parseInt(t,10),a=Math.max(i,o),s=Math.min(i,o),l=.8*Math.min(s,a*r);return Math.round(Math.max(n,l))}function h(e){var t;t=null==e||null==e.nodeType?F.vars.resizableImages:[e];for(var n=0,r=t.length;r>n;n++){var i=t[n];if(i.holderData){var o=i.holderData.flags,s=k(i);if(s){if(!i.holderData.resizeUpdate)continue;if(o.fluid&&o.auto){var l=i.holderData.fluidConfig;switch(l.mode){case"width":s.height=s.width/l.ratio;break;case"height":s.width=s.height*l.ratio}}var h={mode:"image",holderSettings:{dimensions:s,theme:o.theme,flags:o},el:i,engineSettings:i.holderData.engineSettings};"exact"==o.textmode&&(o.exactDimensions=s,h.holderSettings.dimensions=o.dimensions),a(h)}else f(i)}}}function u(e){if(e.holderData){var t=k(e);if(t){var n=e.holderData.flags,r={fluidHeight:"%"==n.dimensions.height.slice(-1),fluidWidth:"%"==n.dimensions.width.slice(-1),mode:null,initialDimensions:t};r.fluidWidth&&!r.fluidHeight?(r.mode="width",r.ratio=r.initialDimensions.width/parseFloat(n.dimensions.height)):!r.fluidWidth&&r.fluidHeight&&(r.mode="height",r.ratio=parseFloat(n.dimensions.width)/r.initialDimensions.height),e.holderData.fluidConfig=r}else f(e)}}function d(){var e,n=[],r=Object.keys(F.vars.invisibleImages);r.forEach(function(t){e=F.vars.invisibleImages[t],k(e)&&"img"==e.nodeName.toLowerCase()&&(n.push(e),delete F.vars.invisibleImages[t])}),n.length&&O.run({images:n}),setTimeout(function(){t.requestAnimationFrame(d)},10)}function c(){F.vars.visibilityCheckStarted||(t.requestAnimationFrame(d),F.vars.visibilityCheckStarted=!0)}function f(e){e.holderData.invisibleId||(F.vars.invisibleId+=1,F.vars.invisibleImages["i"+F.vars.invisibleId]=e,e.holderData.invisibleId=F.vars.invisibleId)}function p(e){F.vars.debounceTimer||e.call(this),F.vars.debounceTimer&&t.clearTimeout(F.vars.debounceTimer),F.vars.debounceTimer=t.setTimeout(function(){F.vars.debounceTimer=null,e.call(this)},F.setup.debounce)}function g(){p(function(){h(null)})}var m=n(2),v=n(3),y=n(6),w=n(7),b=n(8),x=n(9),S=n(10),A=n(11),C=n(12),E=n(15),T=w.extend,k=w.dimensionCheck,j=A.svg_ns,O={version:A.version,addTheme:function(e,t){return null!=e&&null!=t&&(F.settings.themes[e]=t),delete F.vars.cache.themeKeys,this},addImage:function(e,t){var n=x.getNodeArray(t);return n.forEach(function(t){var n=x.newEl("img"),r={};r[F.setup.dataAttr]=e,x.setAttr(n,r),t.appendChild(n)}),this},setResizeUpdate:function(e,t){e.holderData&&(e.holderData.resizeUpdate=!!t,e.holderData.resizeUpdate&&h(e))},run:function(e){e=e||{};var n={},a=T(F.settings,e);F.vars.preempted=!0,F.vars.dataAttr=a.dataAttr||F.setup.dataAttr,n.renderer=a.renderer?a.renderer:F.setup.renderer,-1===F.setup.renderers.join(",").indexOf(n.renderer)&&(n.renderer=F.setup.supportsSVG?"svg":F.setup.supportsCanvas?"canvas":"html");var s=x.getNodeArray(a.images),l=x.getNodeArray(a.bgnodes),h=x.getNodeArray(a.stylenodes),u=x.getNodeArray(a.objects);return n.stylesheets=[],n.svgXMLStylesheet=!0,n.noFontFallback=a.noFontFallback?a.noFontFallback:!1,h.forEach(function(e){if(e.attributes.rel&&e.attributes.href&&"stylesheet"==e.attributes.rel.value){var t=e.attributes.href.value,r=x.newEl("a");r.href=t;var i=r.protocol+"//"+r.host+r.pathname+r.search;n.stylesheets.push(i)}}),l.forEach(function(e){if(t.getComputedStyle){var r=t.getComputedStyle(e,null).getPropertyValue("background-image"),s=e.getAttribute("data-background-src"),l=s||r,h=null,u=a.domain+"/",d=l.indexOf(u);if(0===d)h=l;else if(1===d&&"?"===l[0])h=l.slice(1);else{var c=l.substr(d).match(/([^\"]*)"?\)/);if(null!==c)h=c[1];else if(0===l.indexOf("url("))throw"Holder: unable to parse background URL: "+l}if(null!=h){var f=i(h,a);f&&o({mode:"background",el:e,flags:f,engineSettings:n})}}}),u.forEach(function(e){var t={};try{t.data=e.getAttribute("data"),t.dataSrc=e.getAttribute(F.vars.dataAttr)}catch(i){}var o=null!=t.data&&0===t.data.indexOf(a.domain),s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain);o?r(a,n,t.data,e):s&&r(a,n,t.dataSrc,e)}),s.forEach(function(e){var t={};try{t.src=e.getAttribute("src"),t.dataSrc=e.getAttribute(F.vars.dataAttr),t.rendered=e.getAttribute("data-holder-rendered")}catch(i){}var o=null!=t.src,s=null!=t.dataSrc&&0===t.dataSrc.indexOf(a.domain),l=null!=t.rendered&&"true"==t.rendered;o?0===t.src.indexOf(a.domain)?r(a,n,t.src,e):s&&(l?r(a,n,t.dataSrc,e):!function(e,t,n,i,o){w.imageExists(e,function(e){e||r(t,n,i,o)})}(t.src,a,n,t.dataSrc,e)):s&&r(a,n,t.dataSrc,e)}),this}},F={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",themes:{gray:{bg:"#EEEEEE",fg:"#AAAAAA"},social:{bg:"#3a5a97",fg:"#FFFFFF"},industrial:{bg:"#434A52",fg:"#C2F200"},sky:{bg:"#0D8FDB",fg:"#FFFFFF"},vine:{bg:"#39DBAC",fg:"#1E292C"},lava:{bg:"#F8591A",fg:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16}},z=function(){var e=null,t=null,n=null;return function(r){var i=r.root;if(F.setup.supportsSVG){var o=!1,a=function(e){return document.createTextNode(e)};(null==e||e.parentNode!==document.body)&&(o=!0),e=b.initSVG(e,i.properties.width,i.properties.height),e.style.display="block",o&&(t=x.newEl("text",j),n=a(null),x.setAttr(t,{x:0}),t.appendChild(n),e.appendChild(t),document.body.appendChild(e),e.style.visibility="hidden",e.style.position="absolute",e.style.top="-100%",e.style.left="-100%");var s=i.children.holderTextGroup,l=s.properties;x.setAttr(t,{y:l.font.size,style:w.cssProps({"font-weight":l.font.weight,"font-size":l.font.size+l.font.units,"font-family":l.font.family})}),n.nodeValue=l.text;var h=t.getBBox(),u=Math.ceil(h.width/i.properties.width),d=l.text.split(" "),c=l.text.match(/\\n/g);u+=null==c?0:c.length,n.nodeValue=l.text.replace(/[ ]+/g,"");var f=t.getComputedTextLength(),p=h.width-f,g=Math.round(p/Math.max(1,d.length-1)),m=[];if(u>1){n.nodeValue="";for(var v=0;v=0?t:1)}function o(e){x?i(e):S.push(e)}null==document.readyState&&document.addEventListener&&(document.addEventListener("DOMContentLoaded",function C(){document.removeEventListener("DOMContentLoaded",C,!1),document.readyState="complete"},!1),document.readyState="loading");var a=e.document,s=a.documentElement,l="load",h=!1,u="on"+l,d="complete",c="readyState",f="attachEvent",p="detachEvent",g="addEventListener",m="DOMContentLoaded",v="onreadystatechange",y="removeEventListener",w=g in a,b=h,x=h,S=[];if(a[c]===d)i(t);else if(w)a[g](m,n,h),e[g](l,n,h);else{a[f](v,n),e[f](u,n);try{b=null==e.frameElement&&s}catch(A){}b&&b.doScroll&&!function E(){if(!x){try{b.doScroll("left")}catch(e){return i(E,50)}r(),t()}}()}return o.version="1.4.0",o.isReady=function(){return x},o}e.exports="undefined"!=typeof window&&n(window)},function(e,t,n){var r=encodeURIComponent,i=decodeURIComponent,o=n(4),a=n(5),s=/(\w+)\[(\d+)\]/,l=/\w+\.\w+/;t.parse=function(e){if("string"!=typeof e)return{};if(e=o(e),""===e)return{};"?"===e.charAt(0)&&(e=e.slice(1));for(var t={},n=e.split("&"),r=0;r=0;r--)n=e.charCodeAt(r),n>128?t.unshift(["&#",n,";"].join("")):t.unshift(e[r]);return t.join("")},t.imageExists=function(e,t){var n=new Image;n.onerror=function(){t.call(this,!1)},n.onload=function(){t.call(this,!0)},n.src=e},t.decodeHtmlEntity=function(e){return e.replace(/&#(\d+);/g,function(e,t){return String.fromCharCode(t)})},t.dimensionCheck=function(e){var t={height:e.clientHeight,width:e.clientWidth};return t.height&&t.width?t:!1},t.truthy=function(e){return"string"==typeof e?"true"===e||"yes"===e||"1"===e||"on"===e||"✓"===e:!!e},t.parseColor=function(e){var t,n=/(^(?:#?)[0-9a-f]{6}$)|(^(?:#?)[0-9a-f]{3}$)/i,r=/^rgb\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)$/,i=/^rgba\((\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(0\.\d{1,}|1)\)$/,o=e.match(n);return null!==o?(t=o[1]||o[2],"#"!==t[0]?"#"+t:t):(o=e.match(r),null!==o?t="rgb("+o.slice(1).join(",")+")":(o=e.match(i),null!==o?t="rgba("+o.slice(1).join(",")+")":null))},t.canvasRatio=function(){var t=1,n=1;if(e.document){var r=e.document.createElement("canvas");if(r.getContext){var i=r.getContext("2d");t=e.devicePixelRatio||1,n=i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1}}return t/n}}).call(t,function(){return this}())},function(e,t,n){(function(e){var r=n(9),i="http://www.w3.org/2000/svg",o=8;t.initSVG=function(e,t,n){var a,s,l=!1;e&&e.querySelector?(s=e.querySelector("style"),null===s&&(l=!0)):(e=r.newEl("svg",i),l=!0),l&&(a=r.newEl("defs",i),s=r.newEl("style",i),r.setAttr(s,{type:"text/css"}),a.appendChild(s),e.appendChild(a)),e.webkitMatchesSelector&&e.setAttribute("xmlns",i);for(var h=0;h=0;l--){var h=s.createProcessingInstruction("xml-stylesheet",'href="'+a[l]+'" rel="stylesheet"');s.insertBefore(h,s.firstChild)}s.removeChild(s.documentElement),o=i.serializeToString(s)}var u=i.serializeToString(t);return u=u.replace(/\&(\#[0-9]{2,}\;)/g,"&$1"),o+u}}}).call(t,function(){return this}())},function(e,t){(function(e){t.newEl=function(t,n){return e.document?null==n?e.document.createElement(t):e.document.createElementNS(n,t):void 0},t.setAttr=function(e,t){for(var n in t)e.setAttribute(n,t[n])},t.createXML=function(){return e.DOMParser?(new DOMParser).parseFromString("","application/xml"):void 0},t.getNodeArray=function(t){var n=null;return"string"==typeof t?n=document.querySelectorAll(t):e.NodeList&&t instanceof e.NodeList?n=t:e.Node&&t instanceof e.Node?n=[t]:e.HTMLCollection&&t instanceof e.HTMLCollection?n=t:t instanceof Array?n=t:null===t&&(n=[]),n=Array.prototype.slice.call(n)}}).call(t,function(){return this}())},function(e,t){var n=function(e,t){"string"==typeof e&&(this.original=e,"#"===e.charAt(0)&&(e=e.slice(1)),/[^a-f0-9]+/i.test(e)||(3===e.length&&(e=e.replace(/./g,"$&$&")),6===e.length&&(this.alpha=1,t&&t.alpha&&(this.alpha=t.alpha),this.set(parseInt(e,16)))))};n.rgb2hex=function(e,t,n){function r(e){var t=(0|e).toString(16);return 16>e&&(t="0"+t),t}return[e,t,n].map(r).join("")},n.hsl2rgb=function(e,t,n){var r=e/60,i=(1-Math.abs(2*n-1))*t,o=i*(1-Math.abs(parseInt(r)%2-1)),a=n-i/2,s=0,l=0,h=0;return r>=0&&1>r?(s=i,l=o):r>=1&&2>r?(s=o,l=i):r>=2&&3>r?(l=i,h=o):r>=3&&4>r?(l=o,h=i):r>=4&&5>r?(s=o,h=i):r>=5&&6>r&&(s=i,h=o),s+=a,l+=a,h+=a,s=parseInt(255*s),l=parseInt(255*l),h=parseInt(255*h),[s,l,h]},n.prototype.set=function(e){this.raw=e;var t=(16711680&this.raw)>>16,n=(65280&this.raw)>>8,r=255&this.raw,i=.2126*t+.7152*n+.0722*r,o=-.09991*t-.33609*n+.436*r,a=.615*t-.55861*n-.05639*r;return this.rgb={r:t,g:n,b:r},this.yuv={y:i,u:o,v:a},this},n.prototype.lighten=function(e){var t=Math.min(1,Math.max(0,Math.abs(e)))*(0>e?-1:1),r=255*t|0,i=Math.min(255,Math.max(0,this.rgb.r+r)),o=Math.min(255,Math.max(0,this.rgb.g+r)),a=Math.min(255,Math.max(0,this.rgb.b+r)),s=n.rgb2hex(i,o,a);return new n(s)},n.prototype.toHex=function(e){return(e?"#":"")+this.raw.toString(16)},n.prototype.lighterThan=function(e){return e instanceof n||(e=new n(e)),this.yuv.y>e.yuv.y},n.prototype.blendAlpha=function(e){e instanceof n||(e=new n(e));var t=e,r=this,i=t.alpha*t.rgb.r+(1-t.alpha)*r.rgb.r,o=t.alpha*t.rgb.g+(1-t.alpha)*r.rgb.g,a=t.alpha*t.rgb.b+(1-t.alpha)*r.rgb.b;return new n(n.rgb2hex(i,o,a))},e.exports=n},function(e,t){e.exports={version:"2.9.0",svg_ns:"http://www.w3.org/2000/svg"}},function(e,t,n){function r(e,t){return d.element({tag:t,width:e.width,height:e.height,fill:e.properties.fill})}function i(e){return h.cssProps({fill:e.fill,"font-weight":e.font.weight,"font-family":e.font.family+", monospace","font-size":e.font.size+e.font.units})}function o(e,t,n){var r=n/2;return["M",r,r,"H",e-r,"V",t-r,"H",r,"V",0,"M",0,r,"L",e,t-r,"M",0,t-r,"L",e,r].join(" ")}var a=n(13),s=n(8),l=n(11),h=n(7),u=l.svg_ns,d={element:function(e){var t=e.tag,n=e.content||"";return delete e.tag,delete e.content,[t,n,e]}};e.exports=function(e,t){var n=t.engineSettings,l=n.stylesheets,h=l.map(function(e){return''}).join("\n"),c="holder_"+Number(new Date).toString(16),f=e.root,p=f.children.holderTextGroup,g="#"+c+" text { "+i(p.properties)+" } ";p.y+=.8*p.textPositionData.boundingBox.height;var m=[];Object.keys(p.children).forEach(function(e){var t=p.children[e];Object.keys(t.children).forEach(function(e){var n=t.children[e],r=p.x+t.x+n.x,i=p.y+t.y+n.y,o=d.element({tag:"text",content:n.properties.text,x:r,y:i});m.push(o)})});var v=d.element({tag:"g",content:m}),y=null;if(f.children.holderBg.properties.outline){var w=f.children.holderBg.properties.outline;y=d.element({tag:"path",d:o(f.children.holderBg.width,f.children.holderBg.height,w.width),"stroke-width":w.width,stroke:w.fill,fill:"none"})}var b=r(f.children.holderBg,"rect"),x=[];x.push(b),w&&x.push(y),x.push(v);var S=d.element({tag:"g",id:c,content:x}),A=d.element({tag:"style",content:g,type:"text/css"}),C=d.element({tag:"defs",content:A}),E=d.element({tag:"svg",content:[C,S],width:f.properties.width,height:f.properties.height,xmlns:u,viewBox:[0,0,f.properties.width,f.properties.height].join(" "),preserveAspectRatio:"none"}),T=a(E);T=h+T[0];var k=s.svgStringToDataURI(T,"background"===t.mode);return k}},function(e,t,n){n(14);e.exports=function r(e,t,n){"use strict";function i(e){var t=e.match(/^\w+/),r={tag:t?t[0]:"div",attr:{},children:[]},i=e.match(/#([\w-]+)/),o=e.match(/\$([\w-]+)/),a=e.match(/\.[\w-]+/g);return i&&(r.attr.id=i[1],n[i[1]]=r),o&&(n[o[1]]=r),a&&(r.attr["class"]=a.join(" ").replace(/\./g,"")),e.match(/&$/g)&&(f=!1),r}function o(e,t){return null!==t&&t!==!1&&void 0!==t?"string"!=typeof t&&"object"!=typeof t?String(t):t:void 0}function a(e){return String(e).replace(/&/g,"&").replace(/"/g,""")}function s(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}var l,h,u,d,c=1,f=!0;if(n=n||{},"string"==typeof e[0])e[0]=i(e[0]);else{if(!Array.isArray(e[0]))throw new Error("First element of array must be a string, or an array and not "+JSON.stringify(e[0]));c=0}for(;c",e[0]=l}return n[0]=e[0],u&&u(e[0]),n}},function(e,t){function n(e){return String(e).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}e.exports=n},function(e,t,n){var r=n(9),i=n(7);e.exports=function(){var e=r.newEl("canvas"),t=null;return function(n){null==t&&(t=e.getContext("2d"));var r=i.canvasRatio(),o=n.root;e.width=r*o.properties.width,e.height=r*o.properties.height,t.textBaseline="middle";var a=o.children.holderBg,s=r*a.width,l=r*a.height,h=2,u=h/2;t.fillStyle=a.properties.fill,t.fillRect(0,0,s,l),a.properties.outline&&(t.strokeStyle=a.properties.outline.fill,t.lineWidth=a.properties.outline.width,t.moveTo(u,u),t.lineTo(s-u,u),t.lineTo(s-u,l-u),t.lineTo(u,l-u),t.lineTo(u,u),t.moveTo(0,u),t.lineTo(s,l-u),t.moveTo(0,l-u),t.lineTo(s,u),t.stroke());var d=o.children.holderTextGroup;t.font=d.properties.font.weight+" "+r*d.properties.font.size+d.properties.font.units+" "+d.properties.font.family+", monospace",t.fillStyle=d.properties.fill;for(var c in d.children){var f=d.children[c];for(var p in f.children){var g=f.children[p],m=r*(d.x+f.x+g.x),v=r*(d.y+f.y+g.y+d.properties.leading/2);t.fillText(g.properties.text,m,v)}}return e.toDataURL("image/png")}}()}])}),function(e,t){t&&(Holder=e.Holder)}(this,"undefined"!=typeof Meteor&&"undefined"!=typeof Package); \ No newline at end of file diff --git a/resources/js/jquery-collapse/.gitignore b/resources/js/jquery-collapse/.gitignore new file mode 100644 index 0000000..8659057 --- /dev/null +++ b/resources/js/jquery-collapse/.gitignore @@ -0,0 +1,10 @@ +*~ +*.diff +*.patch +.DS_Store +.settings +Guardfile +Gemfile +spec/*_spec.js +TODO +node_modules diff --git a/resources/js/jquery-collapse/LICENSE b/resources/js/jquery-collapse/LICENSE new file mode 100644 index 0000000..ece412d --- /dev/null +++ b/resources/js/jquery-collapse/LICENSE @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright (c) 2013 Daniel Stocks + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/resources/js/jquery-collapse/README.md b/resources/js/jquery-collapse/README.md new file mode 100644 index 0000000..dfeb43d --- /dev/null +++ b/resources/js/jquery-collapse/README.md @@ -0,0 +1,335 @@ +# jQuery Collapse + +A lightweight and flexible jQuery plugin that allows you to collapse content. A feature also known as 'progressive disclosure'. + +jQuery Collapse is tested agaisnt the latest version of jQuery but requires at least jQuery 1.7.0. + +## Features + +- [WAI ARIA](http://dev.opera.com/articles/view/introduction-to-wai-aria/) compliant +- Lightweight (~1.2kb minified and gzipped) +- Cross Browser compliant (Tested in >= IE6, Firefox, Safari, Chrome, Opera) +- **Accordion** behaviour can be enabled. +- **Persistence** to remember open sections on page reload! + + +### Demo + +A demo showcasing all the features of the plugin can be found at 'demo/demo.html' in this repository. + +## Usage + +Load jQuery and the jQuery Collapse plugin into your document: + +```html + + +``` + +Here's some sample HTML markup: + +```html +
    +

    Fruits

    +
      +
    • Apple
    • +
    • Pear
    • +
    • Orange
    • +
    +

    Info

    +
    +

    You can use any container you like (in this case a div element)

    +
    +
    +``` + +That's it! The *data-collapse* attribute will automatically trigger the script. + +### Open/Collapse section by default + +The standard behaviour is to collapse all the sections on page load. +If you want to show a section to the user on page load you can +achieve this by adding an 'open' class to the section heading + +```html +
    +

    I'm open by default

    +

    Yay

    +
    +``` + +### Open all sections + +You can open or close sections by utilizing events. Assume you have the following markup: + +```html +
    +

    Section 1

    +

    I'm first

    +

    Section 2

    +

    I'm second/p> +

    +``` +You can now trigger events on the elements you want to affect. For instance: + +```js +$("#test").trigger("open") // Open all sections +$("#test").trigger("close") // Close all sections +$("#test h2 a").first().trigger("open") // Open first section +``` + +For further information, please refer to the [events](#events) documentation. + +## JavaScript usage + +If you'd rather omit the 'data-collapse' attribute in the HTML and load the plugin via jQuery, you can: + +```js +$("#demo").collapse({ + // options... +}); +``` + +If you don't want to use the jQuery ($) wrapper, you can also access the +plugin with *vanilla* JavaScript: + +```js +new jQueryCollapse($("#demo"), { + // options... +}); +``` + +### Using custom markup + +By default the plugin will look for groups of two elements. +In real life™ your markup may vary and you'll need to customize how the +plugin interprets it. For example + +```html +
    +
    +

    Summary

    +
    details...
    +
    +
    +

    Summary

    +
    details...
    +
    +
    +``` + +In order for the plugin to understand the above markup, we can pass a 'query' +option specifying where to find the header/summary element of a section: + +```js +new jQueryCollapse($("#demo"), { + query: 'div h2' +}); +``` + +#### External markup example + +You can also just use an arbitrary link on a page to collapse\expand a section: + +```html +Toggle section +
    +
    +

    Summary

    +
    details...
    +
    +
    +``` + +Then attach an event handler to your link and make use of jQuery Collapse events to toggle the setion: + +```js +$("#toggle").click(function() { + $(this.hash).trigger("toggle"); +}); +``` + +#### Custom click query + +Sometimes you want to customize what element inside the collapse summary that should trigger the open/close action. Consider the following markup: + +```html +
    +
    + Google.com info +
    +
    +

    Find stuff on google

    +
    +
    + Twitter.com info +
    +
    +

    Tweet stuff on twitter

    +
    +
    +``` + +Now use the clickQuery option to trigger the action only when the span is clicked + +```js +$("#custom-click-query").collapse({ + clickQuery: "span.toggle" +}); +``` + + +## Accordion + +To activate the accordion behaviour set 'accordion' as the value of the 'data-collapse' attribute: + +```html +
    + ... +
    +``` + + +## Persistence + +By default, if the user reloads the page all the sections will be closed. +If you want previously collapsed sections to stay open you can add 'persist' to the data-collapse attribute: + +```html +
    + ... +
    +``` +And include the storage module in your document *after* the other +scripts. + +```html + +``` + +As in the example above, the target element (#demo) **will require an ID** in order for the +persistence to work. + +You can combine the accordion and persistence options by adding +both values to the data-collapse attribute: + +```html +
    + ... +
    +``` + +jQuery Collapse uses HTML5 localStorage if available, otherwise it +will attempt to use cookies (read about IE support below). If that also fails, it will degrade +to work but without any persistence. + +### Internet Explorer =< 7 Support + +For IE 6-7 you'll need to include the cookie storage and JSON2 libraries +for the cookie storage support to work properly: + +```html + +``` + +## API Documentation + +Here are the exposed options and events that you can play around with +using JavaScript. Enjoy. + +### Options + +You can pass the following options when initializing +the plugin with JavaScript. + +* **open** (function) : Custom function for opening section (default: function(){ this.show() }) +* **close** (function) : Custom function for collapsing section (default: function(){ this.hide() }) +* **accordion** (bool) : Enable accordion behaviour by setting this option to 'true' +* **persist** (bool) : Enable persistence between page loads by setting this option to 'true' +* **query** (string) : Please refer to to [using custom markup](#using-custom-markup) +* **clickQuery** (string): Please refer to [custom click query](#custom-click-query) + +Example usage of options: + +```js +// Initializing collapse plugin +// with custom open/close methods, +// persistence plugin and accordion behaviour +$("#demo").collapse({ + open: function() { + // The context of 'this' is applied to + // the collapsed details in a jQuery wrapper + this.slideDown(100); + }, + close: function() { + this.slideUp(100); + }, + accordion: true, + persist: true +}); +``` + +### Events + +#### Binding events + +You can listen for the **opened** and **closed** events on a collapsed collection. + +```js + +$("#demo").bind("opened", function(e, section) { + console.log(section, " was opened"); +}); + +$("#demo").bind("closed", function(e, section) { + console.log(section, " was closed"); +}); +``` + +#### Triggering events + +You can manually trigger an **open**, **close** or **toggle** event to change the state of a section: + +```js +$("#demo").trigger("open") // open all sections +$("#demo").trigger("close") // close all sections +$("#demo h2 a").last().trigger("toggle") // toggle last section +``` + +When a section changes state, it will trigger either an "opened" or "closed" event in return, depending on it's new state. + +### API methods + +If you're using vanilla JavaScript to instantiate the plugin, you'll get +direct access to the **open**, **close** and **toggle** methods. + +```js +var demo = new jQueryCollapse($("#demo")); // Initializing plugin +demo.open(); // Open all sections +demo.close(); // Close all sections +demo.open(0); // Open first section +demo.open(1); // Open second section +demo.close(0); // Close first section +demo.toggle(1); // Toggle second section +``` + +## Contributing + +Did you find a bug? Do you want to introduce a feature? Here's what to do (in the following order) + +* Find a bug, or invent a feature. +* Write a test case +* Watch it fail (red light) +* Fix bug / introduce feature +* Watch it pass (green light) +* Refactor / Perfectionize! +* Do a pull request on Github and wait patiently... +* Rejoice! + +Tests are written in CoffeeScript with a BDD flavour using mocha and the chai exception framework. They are run with the karma test runner. To run the tests simply type 'karma start' from the project root (you may have to npm install first). + +Thanks in advance + diff --git a/resources/js/jquery-collapse/bower.json b/resources/js/jquery-collapse/bower.json new file mode 100644 index 0000000..10eb004 --- /dev/null +++ b/resources/js/jquery-collapse/bower.json @@ -0,0 +1,15 @@ +{ + "name": "jQuery-Collapse", + "version": "1.0.1", + "main": "src/jquery.collapse.js", + "dependencies": { + "jquery": "~1.7" + }, + "ignore": [ + "demo", + "spec", + "vendor", + "bower.json", + "README.md" + ] +} diff --git a/resources/js/jquery-collapse/demo/demo.css b/resources/js/jquery-collapse/demo/demo.css new file mode 100644 index 0000000..c4ea16d --- /dev/null +++ b/resources/js/jquery-collapse/demo/demo.css @@ -0,0 +1,152 @@ +body { + background: #ddd; + margin: 0 auto; + max-width: 1024px; + font: normal 14px/1.2 'Helvetica Neue', 'Arial' +} + +.fork { + border:0; + position:absolute; + top:0; + right:0; +} + +.col { + width: 320px; + float: left; + margin-right:32px; + margin-bottom: 16px; +} +.c3 { + margin-right:0; +} + +h1 { + border-bottom: 1px solid #333; + font-size: 32px; + color: #fff; + padding-bottom: 12px; + text-shadow: 0px 0px 2px rgba(0,0,0,0.6); +} + +h2 { + margin: 10px 0; + color: #000; + font-size: 18px; + text-shadow: 1px 1px 2px #fff; +} + +h3 { + margin: 0; + background-color: rgb(228,10,85); + background-image: linear-gradient(bottom, rgb(228,10,85) 14%, rgb(255,36,111) 57%); + background-image: -o-linear-gradient(bottom, rgb(228,10,85) 14%, rgb(255,36,111) 57%); + background-image: -moz-linear-gradient(bottom, rgb(228,10,85) 14%, rgb(255,36,111) 57%); + background-image: -webkit-linear-gradient(bottom, rgb(228,10,85) 14%, rgb(255,36,111) 57%); + background-image: -ms-linear-gradient(bottom, rgb(228,10,85) 14%, rgb(255,36,111) 57%); +} + +h3 a { + background: url("sprite.png") 15px 13px no-repeat; + display: block; + padding: 10px; + padding-left: 32px; + margin: 0; + color: #fff; + text-decoration: none; + font-weight: normal; + border-bottom: 1px solid rgba(128, 10, 85, 0.5); + text-shadow: 1px 1px 1px rgb(128,10,85); +} +h3:hover { background: rgb(228,10,85); } +h3.open { background: rgb(255,70,120); } +h3.open a { background-position: 13px -25px; } +h3 + div { padding: 10px; } +h2 + div, +.example { + background: #fff; + overflow: hidden; + border-radius: 3px; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; + margin-bottom: 20px; +} + +/* Pre hide sections with JavaScript on +--- */ +h3+div { + display: none; +} + +/* CSS3 Animation example +--- */ +#css3-animated-example h3 + div { + height: 0px; + padding: 0px; + overflow: hidden; + background: #000; + display: block!important; + -webkit-transform: translateZ(0); + -webkit-transition: all 0.3s ease; + moz-transition: all 0.3s ease; + -o-transition: all 0.3s ease; + -ms-transition:all 0.3s ease; + transition: all 0.3s ease; +} +#css3-animated-example .content { + padding: 10px; +} + +#css3-animated-example h3.open + div { + height: auto; + background: #aaffff; +} + +/* Event example +--- */ +pre#event-log { + background: #fafacc; + padding: 10px; + display: block; +} + +/* Responsive design +--- */ +@media screen and (max-width: 1056px) { + body { + width: 672px; + } + .c2 { + margin-right: 0; + margin-bottom: 0; + } +} + +.test { background: #ccc; padding: 10px; border-bottom: 1px solid #aaa;} +.test + div { background: #fff; padding: 10px; } + +@media +only screen and (max-width: 704px), +only screen and (-webkit-min-device-pixel-ratio : 1.5), +only screen and (min-device-pixel-ratio : 1.5) { + body { + width: 320px; + } + .c1 { + margin-right: 0; + margin-bottom: 0; + } + h1 { + font-size: 28px; + text-shadow: 0px 0px 1px rgba(0,0,0,0.7); + } +} + +@media +only screen and (-webkit-min-device-pixel-ratio : 1.5), +only screen and (min-device-pixel-ratio : 1.5) { + body { + padding: 0 12px; + } +} diff --git a/resources/js/jquery-collapse/demo/demo.html b/resources/js/jquery-collapse/demo/demo.html new file mode 100644 index 0000000..437c712 --- /dev/null +++ b/resources/js/jquery-collapse/demo/demo.html @@ -0,0 +1,260 @@ + + + + + jQuery Collapse Demo + + + + + + + + + + + + Fork me on GitHub + +

    jQuery Collapse Demo

    +
    +

    Default Example

    +
    +

    Fruits

    +
    I like fruits. This link should work
    +

    Info

    +
    This is some information
    +
    + +

    Accordion Example

    +
    +

    Accordions

    +
    Are fun and they make pleasent noises
    +

    Fruits

    +
    I like fruits
    +

    Info

    +
    This is some information
    +

    Yeah!!

    +
    eh
    +
    + +

    Persistence Example

    +
    +

    These

    +
    Well hello there
    +

    Sections

    +
    yabayaba
    +

    Should be

    +
    might be.
    +

    Persistant!!

    +
    eh
    +
    +
    + +
    + +

    Custom show & hide

    +
    +

    Hello

    +
    +

    Hello Sir.

    +

    I'm sliding

    +
    +

    Anarachy in the UK

    +
    I like tea
    +

    Indeed

    +
    This is some information
    +
    + + + + +

    w/ CSS3 Animations

    +
    +

    Hello

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +

    I'm sliding

    +
    +
    +

    Friend

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +
    +
    +

    Foe

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +
    +
    +
    + + + + + +

    Custom markup example

    +
    +
    +

    Hello

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +

    I'm sliding

    +
    +
    +
    +
    +

    Friend

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +
    +
    +
    +
    +

    Foe

    +
    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +
    +
    +
    +
    + + + + +
    +
    + Google.com info +
    +
    +

    Find stuff on google

    +
    +
    + Twitter.com info +
    +
    +

    Tweet stuff on twitter

    +
    +
    + + + +
    +
    + + +

    Binding & Triggering events

    +
    event log
    +
    +

    Section 1

    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +

    I'm sliding

    +
    +

    Section 2

    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +

    Hello Sir.

    +
    +

    Section 3

    +
    +

    This example simply sets a class attribute to the details and let's an + external stylesheet toggle the collapsed state.

    +
    +
    + + + + +

    + +

    Open section by default

    +
    +

    I'm open by default

    +
    Yay
    +

    I'm not open

    +
    booo :(
    +
    + + +

    Nested markup example

    +
    +

    Fruits and Vegetables

    +
    I like fruits. This link should work
    +

    Info

    +
    This is some information
    +
    + +
    + + diff --git a/resources/js/jquery-collapse/demo/sprite.png b/resources/js/jquery-collapse/demo/sprite.png new file mode 100644 index 0000000..372d798 Binary files /dev/null and b/resources/js/jquery-collapse/demo/sprite.png differ diff --git a/resources/js/jquery-collapse/karma.conf.js b/resources/js/jquery-collapse/karma.conf.js new file mode 100644 index 0000000..56f9f39 --- /dev/null +++ b/resources/js/jquery-collapse/karma.conf.js @@ -0,0 +1,69 @@ +// Karma configuration +// Generated on Mon Oct 07 2013 10:25:42 GMT+0200 (CEST) + +module.exports = function(config) { + config.set({ + + // base path, that will be used to resolve files and exclude + basePath: '', + + + // frameworks to use + frameworks: ['mocha'], + + + // list of files / patterns to load in the browser + files: [ + 'vendor/*.js', + 'src/*.js', + 'test/*.coffee' + ], + + + // list of files to exclude + exclude: [ + ], + + + // test results reporter to use + // possible values: 'dots', 'progress', 'junit', 'growl', 'coverage' + reporters: ['dots'], + + + // web server port + port: 9876, + + + // enable / disable colors in the output (reporters and logs) + colors: true, + + + // level of logging + // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG + logLevel: config.LOG_INFO, + + + // enable / disable watching file and executing tests whenever any file changes + autoWatch: true, + + + // Start these browsers, currently available: + // - Chrome + // - ChromeCanary + // - Firefox + // - Opera + // - Safari (only Mac) + // - PhantomJS + // - IE (only Windows) + browsers: ['Firefox','Chrome'], + + + // If browser does not capture in given timeout [ms], kill it + captureTimeout: 60000, + + + // Continuous Integration mode + // if true, it capture browsers, run tests and exit + singleRun: false + }); +}; diff --git a/resources/js/jquery-collapse/package.json b/resources/js/jquery-collapse/package.json new file mode 100644 index 0000000..d93f20a --- /dev/null +++ b/resources/js/jquery-collapse/package.json @@ -0,0 +1,38 @@ +{ + "name": "jQuery-Collapse", + "version": "1.0.0", + "description": "A lightweight (~1kb) jQuery plugin that enables expanding and collapsing content", + "devDependencies": { + "mocha": "~1.13.0", + "karma": "~0.10.2", + "karma-chrome-launcher": "~0.1.0", + "karma-coffee-preprocessor": "~0.1.0", + "karma-firefox-launcher": "~0.1.0", + "karma-html2js-preprocessor": "~0.1.0", + "jquery": "~1.8.3", + "karma-jasmine": "~0.1.3", + "karma-mocha": "~0.1.0", + "karma-phantomjs-launcher": "~0.1.0", + "karma-requirejs": "~0.1.0", + "karma-script-launcher": "~0.1.0", + "karma-sinon-chai": "~0.1.1", + "buster-html-doc": "~1.0.0", + "should": "~1.3.0", + "sinon": "~1.7.3", + "sinon-chai": "~2.4.0", + "chai": "~1.8.0", + "jsdom": "~0.8.4" + }, + "scripts": { + "test": "karma start --single-run" + }, + "repository": { + "type": "git", + "url": "https://github.com/danielstocks/jQuery-Collapse.git" + }, + "author": "Daniel Stocks", + "license": "MIT", + "bugs": { + "url": "https://github.com/danielstocks/jQuery-Collapse/issues" + } +} diff --git a/resources/js/jquery-collapse/src/jquery.collapse.js b/resources/js/jquery-collapse/src/jquery.collapse.js new file mode 100644 index 0000000..512ca49 --- /dev/null +++ b/resources/js/jquery-collapse/src/jquery.collapse.js @@ -0,0 +1,176 @@ +/* + * Collapse plugin for jQuery + * -- + * source: http://github.com/danielstocks/jQuery-Collapse/ + * site: http://webcloud.se/jQuery-Collapse + * + * @author Daniel Stocks (http://webcloud.se) + * Copyright 2013, Daniel Stocks + * Released under the MIT, BSD, and GPL Licenses. + */ + +(function($) { + + // Constructor + function Collapse (el, options) { + options = options || {}; + var _this = this, + query = options.query || "> :even"; + + $.extend(_this, { + $el: el, + options : options, + sections: [], + isAccordion : options.accordion || false, + db : options.persist ? jQueryCollapseStorage(el.get(0).id) : false + }); + + // Figure out what sections are open if storage is used + _this.states = _this.db ? _this.db.read() : []; + + // For every pair of elements in given + // element, create a section + _this.$el.find(query).each(function() { + new jQueryCollapseSection($(this), _this); + }); + + // Capute ALL the clicks! + (function(scope) { + _this.$el.on("click", "[data-collapse-summary] " + (scope.options.clickQuery || ""), + $.proxy(_this.handleClick, scope)); + + _this.$el.bind("toggle close open", + $.proxy(_this.handleEvent, scope)); + + }(_this)); + } + + Collapse.prototype = { + handleClick: function(e, state) { + e.preventDefault(); + var state = state || "toggle" + var sections = this.sections, + l = sections.length; + while(l--) { + if($.contains(sections[l].$summary[0], e.target)) { + sections[l][state](); + break; + } + } + }, + handleEvent: function(e) { + if(e.target == this.$el.get(0)) return this[e.type](); + this.handleClick(e, e.type); + }, + open: function(eq) { + if(isFinite(eq)) return this.sections[eq].open(); + $.each(this.sections, function(i, section) { + section.open(); + }) + }, + close: function(eq) { + if(isFinite(eq)) return this.sections[eq].close(); + $.each(this.sections, function(i, section) { + section.close(); + }) + }, + toggle: function(eq) { + if(isFinite(eq)) return this.sections[eq].toggle(); + $.each(this.sections, function(i, section) { + section.toggle(); + }) + } + }; + + // Section constructor + function Section($el, parent) { + + if(!parent.options.clickQuery) $el.wrapInner(''); + + $.extend(this, { + isOpen : false, + $summary : $el.attr("data-collapse-summary",""), + $details : $el.next(), + options: parent.options, + parent: parent + }); + parent.sections.push(this); + + // Check current state of section + var state = parent.states[this._index()]; + + if(state === 0) { + this.close(true) + } + else if(this.$summary.is(".open") || state === 1) { + this.open(true); + } else { + this.close(true) + } + } + + Section.prototype = { + toggle : function() { + this.isOpen ? this.close() : this.open(); + }, + close: function(bypass) { + this._changeState("close", bypass); + }, + open: function(bypass) { + var _this = this; + if(_this.options.accordion && !bypass) { + $.each(_this.parent.sections, function(i, section) { + section.close() + }); + } + _this._changeState("open", bypass); + }, + _index: function() { + return $.inArray(this, this.parent.sections); + }, + _changeState: function(state, bypass) { + + var _this = this; + _this.isOpen = state == "open"; + if($.isFunction(_this.options[state]) && !bypass) { + _this.options[state].apply(_this.$details); + } else { + _this.$details[_this.isOpen ? "show" : "hide"](); + } + + _this.$summary.toggleClass("open", state != "close") + _this.$details.attr("aria-hidden", state == "close"); + _this.$summary.attr("aria-expanded", state == "open"); + _this.$summary.trigger(state == "open" ? "opened" : "closed", _this); + if(_this.parent.db) { + _this.parent.db.write(_this._index(), _this.isOpen); + } + } + }; + + // Expose in jQuery API + $.fn.extend({ + collapse: function(options, scan) { + var nodes = (scan) ? $("body").find("[data-collapse]") : $(this); + return nodes.each(function() { + var settings = (scan) ? {} : options, + values = $(this).attr("data-collapse") || ""; + $.each(values.split(" "), function(i,v) { + if(v) settings[v] = true; + }); + new Collapse($(this), settings); + }); + } + }); + + //jQuery DOM Ready + $(function() { + $.fn.collapse(false, true); + }); + + // Expose constructor to + // global namespace + jQueryCollapse = Collapse; + jQueryCollapseSection = Section; + +})(window.jQuery); diff --git a/resources/js/jquery-collapse/src/jquery.collapse_cookie_storage.js b/resources/js/jquery-collapse/src/jquery.collapse_cookie_storage.js new file mode 100644 index 0000000..68b01e4 --- /dev/null +++ b/resources/js/jquery-collapse/src/jquery.collapse_cookie_storage.js @@ -0,0 +1,37 @@ +/* + * Cookie Storage for jQuery Collapse + * -- + * source: http://github.com/danielstocks/jQuery-Collapse/ + * site: http://webcloud.se/jQuery-Collapse + * + * @author Daniel Stocks (http://webcloud.se) + * Copyright 2013, Daniel Stocks + * Released under the MIT, BSD, and GPL Licenses. + */ + +(function($) { + + var cookieStorage = { + expires: function() { + var now = new Date(); + return now.setDate(now.getDate() + 1); + }(), + setItem: function(key, value) { + document.cookie = key + '=' + value + '; expires=' + this.expires +'; path=/'; + }, + getItem: function(key) { + key+= "="; + var item = ""; + $.each(document.cookie.split(';'), function(i, cookie) { + while (cookie.charAt(0)==' ') cookie = cookie.substring(1,cookie.length); + if(cookie.indexOf(key) === 0) { + item = cookie.substring(key.length,cookie.length); + } + }); + return item; + } + }; + + $.fn.collapse.cookieStorage = cookieStorage; + +})(jQuery); diff --git a/resources/js/jquery-collapse/src/jquery.collapse_storage.js b/resources/js/jquery-collapse/src/jquery.collapse_storage.js new file mode 100644 index 0000000..93cb450 --- /dev/null +++ b/resources/js/jquery-collapse/src/jquery.collapse_storage.js @@ -0,0 +1,56 @@ +/* + * Storage for jQuery Collapse + * -- + * source: http://github.com/danielstocks/jQuery-Collapse/ + * site: http://webcloud.se/jQuery-Collapse + * + * @author Daniel Stocks (http://webcloud.se) + * Copyright 2013, Daniel Stocks + * Released under the MIT, BSD, and GPL Licenses. + */ + +(function($) { + + var STORAGE_KEY = "jQuery-Collapse"; + + function Storage(id) { + var DB; + try { + DB = window.localStorage || $.fn.collapse.cookieStorage; + } catch(e) { + DB = false; + } + return DB ? new _Storage(id, DB) : false; + } + function _Storage(id, DB) { + this.id = id; + this.db = DB; + this.data = []; + } + _Storage.prototype = { + write: function(position, state) { + var _this = this; + _this.data[position] = state ? 1 : 0; + // Pad out data array with zero values + $.each(_this.data, function(i) { + if(typeof _this.data[i] == 'undefined') { + _this.data[i] = 0; + } + }); + var obj = this._getDataObject(); + obj[this.id] = this.data; + this.db.setItem(STORAGE_KEY, JSON.stringify(obj)); + }, + read: function() { + var obj = this._getDataObject(); + return obj[this.id] || []; + }, + _getDataObject: function() { + var string = this.db.getItem(STORAGE_KEY); + return string ? JSON.parse(string) : {}; + } + }; + + jQueryCollapseStorage = Storage; + +})(jQuery); diff --git a/resources/js/jquery-collapse/test/jquery.collapse.cookie_storage_test.coffee b/resources/js/jquery-collapse/test/jquery.collapse.cookie_storage_test.coffee new file mode 100644 index 0000000..c57408a --- /dev/null +++ b/resources/js/jquery-collapse/test/jquery.collapse.cookie_storage_test.coffee @@ -0,0 +1,24 @@ +expect = chai.expect + +describe 'Cookie Storage', -> + + before -> + @cookieStorage = $.fn.collapse.cookieStorage + @cookieStorage.setItem("test","holla") + @cookieStorage.setItem("lol","ok") + + describe 'setItem', -> + + it 'sets a cookie', -> + expect(document.cookie).to.eq "test=holla; lol=ok" + + describe 'getItem', -> + + before -> + + it 'gets the lol cookie', -> + expect(@cookieStorage.getItem("lol")).to.eql "ok" + + it 'gets the test cookie', -> + expect(@cookieStorage.getItem("test")).to.eql "holla" + diff --git a/resources/js/jquery-collapse/test/jquery.collapse_storage_test.coffee b/resources/js/jquery-collapse/test/jquery.collapse_storage_test.coffee new file mode 100644 index 0000000..46930c1 --- /dev/null +++ b/resources/js/jquery-collapse/test/jquery.collapse_storage_test.coffee @@ -0,0 +1,40 @@ +expect = chai.expect + +describe 'Storage', -> + + before -> + @id = 'hello' + @storage = new jQueryCollapseStorage(@id) + + describe 'Constructor', -> + + it 'should set an id', -> + expect(@storage.id).to.eq @id + + it 'should set db to local storage', -> + expect(@storage.db).to.eql window.localStorage + + it 'should set data to empty array', -> + expect(@storage.data).to.eql [] + + describe 'write', -> + + before -> + @storage.write(2, true) + + it 'should update storage data', -> + expect(@storage.data).to.eql [0,0,1] + + it 'should set item on db', -> + expect(@storage.db.getItem("jQuery-Collapse")).to.eq '{"hello":[0,0,1]}' + + describe 'read', -> + + it 'should read from db', -> + value = @storage.read() + expect(value).to.eql [0,0,1] + + + + + diff --git a/resources/js/jquery-collapse/test/jquery.collapse_test.coffee b/resources/js/jquery-collapse/test/jquery.collapse_test.coffee new file mode 100644 index 0000000..5c07b02 --- /dev/null +++ b/resources/js/jquery-collapse/test/jquery.collapse_test.coffee @@ -0,0 +1,216 @@ +expect = chai.expect + +describe 'Collapse', -> + + describe 'Constructor', -> + + describe 'without options', -> + + before -> + @el = $(document.createElement('div')) + @collapse = new jQueryCollapse @el + + it 'sets an empty options object', -> + expect(@collapse.options).to.eql {} + + it 'sets an given element', -> + expect(@collapse.$el).to.eq @el + + it 'has no sections', -> + expect(@collapse.sections).to.eql [] + + it 'is not an accordion', -> + expect(@collapse.isAccordion).to.eq false + + it 'is not persistant', -> + expect(@collapse.db).to.eq false + + it 'has no states', -> + expect(@collapse.states).to.eql [] + + describe 'with options', -> + + before -> + @el = + find : sinon.stub().returns($("
    ").add("
    ")) + get : sinon.stub().returns(true) + on : sinon.stub().returns(true) + bind : sinon.stub().returns(true) + + @sectionStub = sinon.stub(window, 'jQueryCollapseSection') + + @dbMock = + read: sinon.spy + + @storageStub = sinon.stub(window, 'jQueryCollapseStorage') + .returns(@dbMock) + + @options = + query: "div h2" + accordion: true + persist: true + @collapse = new jQueryCollapse @el, @options + + after -> + jQueryCollapseSection.restore() + jQueryCollapseStorage.restore() + + it 'is an accordion', -> + expect(@collapse.isAccordion).to.eq @options.accordion + + it 'is persistant', -> + expect(@storageStub.calledOnce).to.be.ok + + it 'attempts to read db', -> + expect(@dbMock.read).to.be.ok + + it 'creates a section for every query match', -> + expect(@sectionStub.calledTwice).to.be.ok + + it 'captures ALL the clicks', -> + expect(@el.on.calledWith('click', '[data-collapse-summary]')).to.be.ok + + + describe 'handleClick method', -> + + beforeEach -> + + summary = $("
    ") + @collapse = new jQueryCollapse($(document.createElement('div'))) + @collapse.sections = [ + {toggle: sinon.spy(), $summary: $('
    ').append(summary)} + ] + @e = + target : summary.get(0) + preventDefault: sinon.spy() + @collapse.handleClick(@e) + + it 'prevents default event behaviour', -> + expect(@e.preventDefault.calledOnce).to.be.ok + + it 'toggles section if a summary was clicked', -> + expect(@collapse.sections[0].toggle.calledOnce).to.be.ok + + + describe 'open method', -> + + beforeEach -> + @el = $(document.createElement('div')) + @collapse = new jQueryCollapse @el + @collapse.sections = [ + {open: sinon.spy()} + {open: sinon.spy()} + ] + + it 'opens given section', -> + @collapse.open(1) + expect(@collapse.sections[1].open.calledOnce).to.be.ok + + it 'opens all the sections', -> + @collapse.open() + expect(@collapse.sections[0].open.calledOnce).to.be.ok + expect(@collapse.sections[1].open.calledOnce).to.be.ok + + describe 'close method', -> + + beforeEach -> + @el = $(document.createElement('div')) + @collapse = new jQueryCollapse @el + @collapse.sections = [ + {close: sinon.spy()} + {close: sinon.spy()} + ] + + it 'closes given section', -> + @collapse.close(1) + expect(@collapse.sections[1].close.calledOnce).to.be.ok + + it 'closes all the sections', -> + @collapse.close() + expect(@collapse.sections[0].close.calledOnce).to.be.ok + expect(@collapse.sections[1].close.calledOnce).to.be.ok + +describe 'Section', -> + + describe 'constructor', -> + + before -> + @summary = $("
    ").addClass("summary") + @details = $("
    ").addClass("details") + @rootEl = $("
    ").append(@summary, @details) + + @parent = + sections : [] + states: [0,1,0] + options: {} + $el: @rootEl + + @section = new jQueryCollapseSection(@summary, @parent) + + describe 'defaults', -> + + it 'is not open', -> + expect(@section.isOpen).to.eql false + + it 'sets a summary', -> + expect(@section.$summary.is(@summary)).to.eql true + + it 'sets a data-collapse summary attribute on summry', -> + expect(@section.$summary.data()).to.eql { collapseSummary: '' } + + it 'injects a link inside el', -> + expect(@section.$summary.find("a").length).to.eql 1 + + it 'finds and sets details', -> + expect(@section.$details.get(0)).to.eql @details.get(0) + + it 'applies a parent', -> + expect(@section.parent).to.eql @parent + + it 'applies parent options', -> + expect(@section.options).to.eql @parent.options + + it 'pushes to parent sections', -> + expect(@parent.sections[0]).to.eql @section + + describe 'state is 1', -> + + before -> + sinon.stub(jQueryCollapseSection.prototype, '_index').returns(1) + @open = sinon.stub(jQueryCollapseSection.prototype, 'open') + @section = new jQueryCollapseSection(@summary, @parent) + + after -> + jQueryCollapseSection.prototype._index.restore() + jQueryCollapseSection.prototype.open.restore() + + it 'opens with a bypass', -> + expect(@open.calledWith(true)).to.be.ok + + describe 'state is 0', -> + + before -> + sinon.stub(jQueryCollapseSection.prototype, '_index').returns(0) + @close = sinon.stub(jQueryCollapseSection.prototype, 'close') + @section = new jQueryCollapseSection(@summary, @parent) + + after -> + jQueryCollapseSection.prototype._index.restore() + jQueryCollapseSection.prototype.close.restore() + + it 'closes with a bypass', -> + expect(@close.calledWith(true)).to.be.ok + + describe 'section summary has .open class', -> + + before -> + sinon.stub($.fn, 'is').withArgs('.open').returns(true) + @open = sinon.stub(jQueryCollapseSection.prototype, 'open') + new jQueryCollapseSection(@summary, @parent) + + after -> + $.fn.is.restore() + jQueryCollapseSection.prototype.open.restore() + + it 'opens with a bypass', -> + expect(@open.calledWith(true)).to.be.ok diff --git a/resources/js/jquery-collapse/vendor/chai.js b/resources/js/jquery-collapse/vendor/chai.js new file mode 100644 index 0000000..2663a50 --- /dev/null +++ b/resources/js/jquery-collapse/vendor/chai.js @@ -0,0 +1,4613 @@ +;(function(){ + +/** + * Require the given path. + * + * @param {String} path + * @return {Object} exports + * @api public + */ + +function require(path, parent, orig) { + var resolved = require.resolve(path); + + // lookup failed + if (null == resolved) { + orig = orig || path; + parent = parent || 'root'; + var err = new Error('Failed to require "' + orig + '" from "' + parent + '"'); + err.path = orig; + err.parent = parent; + err.require = true; + throw err; + } + + var module = require.modules[resolved]; + + // perform real require() + // by invoking the module's + // registered function + if (!module._resolving && !module.exports) { + var mod = {}; + mod.exports = {}; + mod.client = mod.component = true; + module._resolving = true; + module.call(this, mod.exports, require.relative(resolved), mod); + delete module._resolving; + module.exports = mod.exports; + } + + return module.exports; +} + +/** + * Registered modules. + */ + +require.modules = {}; + +/** + * Registered aliases. + */ + +require.aliases = {}; + +/** + * Resolve `path`. + * + * Lookup: + * + * - PATH/index.js + * - PATH.js + * - PATH + * + * @param {String} path + * @return {String} path or null + * @api private + */ + +require.resolve = function(path) { + if (path.charAt(0) === '/') path = path.slice(1); + + var paths = [ + path, + path + '.js', + path + '.json', + path + '/index.js', + path + '/index.json' + ]; + + for (var i = 0; i < paths.length; i++) { + var path = paths[i]; + if (require.modules.hasOwnProperty(path)) return path; + if (require.aliases.hasOwnProperty(path)) return require.aliases[path]; + } +}; + +/** + * Normalize `path` relative to the current path. + * + * @param {String} curr + * @param {String} path + * @return {String} + * @api private + */ + +require.normalize = function(curr, path) { + var segs = []; + + if ('.' != path.charAt(0)) return path; + + curr = curr.split('/'); + path = path.split('/'); + + for (var i = 0; i < path.length; ++i) { + if ('..' == path[i]) { + curr.pop(); + } else if ('.' != path[i] && '' != path[i]) { + segs.push(path[i]); + } + } + + return curr.concat(segs).join('/'); +}; + +/** + * Register module at `path` with callback `definition`. + * + * @param {String} path + * @param {Function} definition + * @api private + */ + +require.register = function(path, definition) { + require.modules[path] = definition; +}; + +/** + * Alias a module definition. + * + * @param {String} from + * @param {String} to + * @api private + */ + +require.alias = function(from, to) { + if (!require.modules.hasOwnProperty(from)) { + throw new Error('Failed to alias "' + from + '", it does not exist'); + } + require.aliases[to] = from; +}; + +/** + * Return a require function relative to the `parent` path. + * + * @param {String} parent + * @return {Function} + * @api private + */ + +require.relative = function(parent) { + var p = require.normalize(parent, '..'); + + /** + * lastIndexOf helper. + */ + + function lastIndexOf(arr, obj) { + var i = arr.length; + while (i--) { + if (arr[i] === obj) return i; + } + return -1; + } + + /** + * The relative require() itself. + */ + + function localRequire(path) { + var resolved = localRequire.resolve(path); + return require(resolved, parent, path); + } + + /** + * Resolve relative to the parent. + */ + + localRequire.resolve = function(path) { + var c = path.charAt(0); + if ('/' == c) return path.slice(1); + if ('.' == c) return require.normalize(p, path); + + // resolve deps by returning + // the dep in the nearest "deps" + // directory + var segs = parent.split('/'); + var i = lastIndexOf(segs, 'deps') + 1; + if (!i) i = 0; + path = segs.slice(0, i + 1).join('/') + '/deps/' + path; + return path; + }; + + /** + * Check if module is defined at `path`. + */ + + localRequire.exists = function(path) { + return require.modules.hasOwnProperty(localRequire.resolve(path)); + }; + + return localRequire; +}; +require.register("chaijs-assertion-error/index.js", function(exports, require, module){ +/*! + * assertion-error + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + +/*! + * Return a function that will copy properties from + * one object to another excluding any originally + * listed. Returned function will create a new `{}`. + * + * @param {String} excluded properties ... + * @return {Function} + */ + +function exclude () { + var excludes = [].slice.call(arguments); + + function excludeProps (res, obj) { + Object.keys(obj).forEach(function (key) { + if (!~excludes.indexOf(key)) res[key] = obj[key]; + }); + } + + return function extendExclude () { + var args = [].slice.call(arguments) + , i = 0 + , res = {}; + + for (; i < args.length; i++) { + excludeProps(res, args[i]); + } + + return res; + }; +}; + +/*! + * Primary Exports + */ + +module.exports = AssertionError; + +/** + * ### AssertionError + * + * An extension of the JavaScript `Error` constructor for + * assertion and validation scenarios. + * + * @param {String} message + * @param {Object} properties to include (optional) + * @param {callee} start stack function (optional) + */ + +function AssertionError (message, _props, ssf) { + var extend = exclude('name', 'message', 'stack', 'constructor', 'toJSON') + , props = extend(_props || {}); + + // default values + this.message = message || 'Unspecified AssertionError'; + this.showDiff = false; + + // copy from properties + for (var key in props) { + this[key] = props[key]; + } + + // capture stack trace + ssf = ssf || arguments.callee; + if (ssf && Error.captureStackTrace) { + Error.captureStackTrace(this, ssf); + } +} + +/*! + * Inherit from Error.prototype + */ + +AssertionError.prototype = Object.create(Error.prototype); + +/*! + * Statically set name + */ + +AssertionError.prototype.name = 'AssertionError'; + +/*! + * Ensure correct constructor + */ + +AssertionError.prototype.constructor = AssertionError; + +/** + * Allow errors to be converted to JSON for static transfer. + * + * @param {Boolean} include stack (default: `true`) + * @return {Object} object that can be `JSON.stringify` + */ + +AssertionError.prototype.toJSON = function (stack) { + var extend = exclude('constructor', 'toJSON', 'stack') + , props = extend({ name: this.name }, this); + + // include stack if exists and not turned off + if (false !== stack && this.stack) { + props.stack = this.stack; + } + + return props; +}; + +}); +require.register("chaijs-type-detect/lib/type.js", function(exports, require, module){ +/*! + * type-detect + * Copyright(c) 2013 jake luer + * MIT Licensed + */ + +/*! + * Primary Exports + */ + +var exports = module.exports = getType; + +/*! + * Detectable javascript natives + */ + +var natives = { + '[object Array]': 'array' + , '[object RegExp]': 'regexp' + , '[object Function]': 'function' + , '[object Arguments]': 'arguments' + , '[object Date]': 'date' +}; + +/** + * ### typeOf (obj) + * + * Use several different techniques to determine + * the type of object being tested. + * + * + * @param {Mixed} object + * @return {String} object type + * @api public + */ + +function getType (obj) { + var str = Object.prototype.toString.call(obj); + if (natives[str]) return natives[str]; + if (obj === null) return 'null'; + if (obj === undefined) return 'undefined'; + if (obj === Object(obj)) return 'object'; + return typeof obj; +} + +exports.Library = Library; + +/** + * ### Library + * + * Create a repository for custom type detection. + * + * ```js + * var lib = new type.Library; + * ``` + * + */ + +function Library () { + this.tests = {}; +} + +/** + * #### .of (obj) + * + * Expose replacement `typeof` detection to the library. + * + * ```js + * if ('string' === lib.of('hello world')) { + * // ... + * } + * ``` + * + * @param {Mixed} object to test + * @return {String} type + */ + +Library.prototype.of = getType; + +/** + * #### .define (type, test) + * + * Add a test to for the `.test()` assertion. + * + * Can be defined as a regular expression: + * + * ```js + * lib.define('int', /^[0-9]+$/); + * ``` + * + * ... or as a function: + * + * ```js + * lib.define('bln', function (obj) { + * if ('boolean' === lib.of(obj)) return true; + * var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ]; + * if ('string' === lib.of(obj)) obj = obj.toLowerCase(); + * return !! ~blns.indexOf(obj); + * }); + * ``` + * + * @param {String} type + * @param {RegExp|Function} test + * @api public + */ + +Library.prototype.define = function (type, test) { + if (arguments.length === 1) return this.tests[type]; + this.tests[type] = test; + return this; +}; + +/** + * #### .test (obj, test) + * + * Assert that an object is of type. Will first + * check natives, and if that does not pass it will + * use the user defined custom tests. + * + * ```js + * assert(lib.test('1', 'int')); + * assert(lib.test('yes', 'bln')); + * ``` + * + * @param {Mixed} object + * @param {String} type + * @return {Boolean} result + * @api public + */ + +Library.prototype.test = function (obj, type) { + if (type === getType(obj)) return true; + var test = this.tests[type]; + + if (test && 'regexp' === getType(test)) { + return test.test(obj); + } else if (test && 'function' === getType(test)) { + return test(obj); + } else { + throw new ReferenceError('Type test "' + type + '" not defined or invalid.'); + } +}; + +}); +require.register("chaijs-deep-eql/lib/eql.js", function(exports, require, module){ +/*! + * deep-eql + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependencies + */ + +var type = require('type-detect'); + +/*! + * Buffer.isBuffer browser shim + */ + +var Buffer; +try { Buffer = require('buffer').Buffer; } +catch(ex) { + Buffer = {}; + Buffer.isBuffer = function() { return false; } +} + +/*! + * Primary Export + */ + +module.exports = deepEqual; + +/** + * Assert super-strict (egal) equality between + * two objects of any type. + * + * @param {Mixed} a + * @param {Mixed} b + * @param {Array} memoised (optional) + * @return {Boolean} equal match + */ + +function deepEqual(a, b, m) { + if (sameValue(a, b)) { + return true; + } else if ('date' === type(a)) { + return dateEqual(a, b); + } else if ('regexp' === type(a)) { + return regexpEqual(a, b); + } else if (Buffer.isBuffer(a)) { + return bufferEqual(a, b); + } else if ('arguments' === type(a)) { + return argumentsEqual(a, b, m); + } else if (!typeEqual(a, b)) { + return false; + } else if (('object' !== type(a) && 'object' !== type(b)) + && ('array' !== type(a) && 'array' !== type(b))) { + return sameValue(a, b); + } else { + return objectEqual(a, b, m); + } +} + +/*! + * Strict (egal) equality test. Ensures that NaN always + * equals NaN and `-0` does not equal `+0`. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} equal match + */ + +function sameValue(a, b) { + if (a === b) return a !== 0 || 1 / a === 1 / b; + return a !== a && b !== b; +} + +/*! + * Compare the types of two given objects and + * return if they are equal. Note that an Array + * has a type of `array` (not `object`) and arguments + * have a type of `arguments` (not `array`/`object`). + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function typeEqual(a, b) { + return type(a) === type(b); +} + +/*! + * Compare two Date objects by asserting that + * the time values are equal using `saveValue`. + * + * @param {Date} a + * @param {Date} b + * @return {Boolean} result + */ + +function dateEqual(a, b) { + if ('date' !== type(b)) return false; + return sameValue(a.getTime(), b.getTime()); +} + +/*! + * Compare two regular expressions by converting them + * to string and checking for `sameValue`. + * + * @param {RegExp} a + * @param {RegExp} b + * @return {Boolean} result + */ + +function regexpEqual(a, b) { + if ('regexp' !== type(b)) return false; + return sameValue(a.toString(), b.toString()); +} + +/*! + * Assert deep equality of two `arguments` objects. + * Unfortunately, these must be sliced to arrays + * prior to test to ensure no bad behavior. + * + * @param {Arguments} a + * @param {Arguments} b + * @param {Array} memoize (optional) + * @return {Boolean} result + */ + +function argumentsEqual(a, b, m) { + if ('arguments' !== type(b)) return false; + a = [].slice.call(a); + b = [].slice.call(b); + return deepEqual(a, b, m); +} + +/*! + * Get enumerable properties of a given object. + * + * @param {Object} a + * @return {Array} property names + */ + +function enumerable(a) { + var res = []; + for (var key in a) res.push(key); + return res; +} + +/*! + * Simple equality for flat iterable objects + * such as Arrays or Node.js buffers. + * + * @param {Iterable} a + * @param {Iterable} b + * @return {Boolean} result + */ + +function iterableEqual(a, b) { + if (a.length !== b.length) return false; + + var i = 0; + var match = true; + + for (; i < a.length; i++) { + if (a[i] !== b[i]) { + match = false; + break; + } + } + + return match; +} + +/*! + * Extension to `iterableEqual` specifically + * for Node.js Buffers. + * + * @param {Buffer} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function bufferEqual(a, b) { + if (!Buffer.isBuffer(b)) return false; + return iterableEqual(a, b); +} + +/*! + * Block for `objectEqual` ensuring non-existing + * values don't get in. + * + * @param {Mixed} object + * @return {Boolean} result + */ + +function isValue(a) { + return a !== null && a !== undefined; +} + +/*! + * Recursively check the equality of two objects. + * Once basic sameness has been established it will + * defer to `deepEqual` for each enumerable key + * in the object. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function objectEqual(a, b, m) { + if (!isValue(a) || !isValue(b)) { + return false; + } + + if (a.prototype !== b.prototype) { + return false; + } + + var i; + if (m) { + for (i = 0; i < m.length; i++) { + if ((m[i][0] === a && m[i][1] === b) + || (m[i][0] === b && m[i][1] === a)) { + return true; + } + } + } else { + m = []; + } + + try { + var ka = enumerable(a); + var kb = enumerable(b); + } catch (ex) { + return false; + } + + ka.sort(); + kb.sort(); + + if (!iterableEqual(ka, kb)) { + return false; + } + + m.push([ a, b ]); + + var key; + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!deepEqual(a[key], b[key], m)) { + return false; + } + } + + return true; +} + +}); +require.register("chai/index.js", function(exports, require, module){ +module.exports = require('./lib/chai'); + +}); +require.register("chai/lib/chai.js", function(exports, require, module){ +/*! + * chai + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + +var used = [] + , exports = module.exports = {}; + +/*! + * Chai version + */ + +exports.version = '1.8.0'; + +/*! + * Assertion Error + */ + +exports.AssertionError = require('assertion-error'); + +/*! + * Utils for plugins (not exported) + */ + +var util = require('./chai/utils'); + +/** + * # .use(function) + * + * Provides a way to extend the internals of Chai + * + * @param {Function} + * @returns {this} for chaining + * @api public + */ + +exports.use = function (fn) { + if (!~used.indexOf(fn)) { + fn(this, util); + used.push(fn); + } + + return this; +}; + +/*! + * Primary `Assertion` prototype + */ + +var assertion = require('./chai/assertion'); +exports.use(assertion); + +/*! + * Core Assertions + */ + +var core = require('./chai/core/assertions'); +exports.use(core); + +/*! + * Expect interface + */ + +var expect = require('./chai/interface/expect'); +exports.use(expect); + +/*! + * Should interface + */ + +var should = require('./chai/interface/should'); +exports.use(should); + +/*! + * Assert interface + */ + +var assert = require('./chai/interface/assert'); +exports.use(assert); + +}); +require.register("chai/lib/chai/assertion.js", function(exports, require, module){ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + +module.exports = function (_chai, util) { + /*! + * Module dependencies. + */ + + var AssertionError = _chai.AssertionError + , flag = util.flag; + + /*! + * Module export. + */ + + _chai.Assertion = Assertion; + + /*! + * Assertion Constructor + * + * Creates object for chaining. + * + * @api private + */ + + function Assertion (obj, msg, stack) { + flag(this, 'ssfi', stack || arguments.callee); + flag(this, 'object', obj); + flag(this, 'message', msg); + } + + /*! + * ### Assertion.includeStack + * + * User configurable property, influences whether stack trace + * is included in Assertion error message. Default of false + * suppresses stack trace in the error message + * + * Assertion.includeStack = true; // enable stack on error + * + * @api public + */ + + Assertion.includeStack = false; + + /*! + * ### Assertion.showDiff + * + * User configurable property, influences whether or not + * the `showDiff` flag should be included in the thrown + * AssertionErrors. `false` will always be `false`; `true` + * will be true when the assertion has requested a diff + * be shown. + * + * @api public + */ + + Assertion.showDiff = true; + + Assertion.addProperty = function (name, fn) { + util.addProperty(this.prototype, name, fn); + }; + + Assertion.addMethod = function (name, fn) { + util.addMethod(this.prototype, name, fn); + }; + + Assertion.addChainableMethod = function (name, fn, chainingBehavior) { + util.addChainableMethod(this.prototype, name, fn, chainingBehavior); + }; + + Assertion.overwriteProperty = function (name, fn) { + util.overwriteProperty(this.prototype, name, fn); + }; + + Assertion.overwriteMethod = function (name, fn) { + util.overwriteMethod(this.prototype, name, fn); + }; + + /*! + * ### .assert(expression, message, negateMessage, expected, actual) + * + * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass. + * + * @name assert + * @param {Philosophical} expression to be tested + * @param {String} message to display if fails + * @param {String} negatedMessage to display if negated expression fails + * @param {Mixed} expected value (remember to check for negation) + * @param {Mixed} actual (optional) will default to `this.obj` + * @api private + */ + + Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) { + var ok = util.test(this, arguments); + if (true !== showDiff) showDiff = false; + if (true !== Assertion.showDiff) showDiff = false; + + if (!ok) { + var msg = util.getMessage(this, arguments) + , actual = util.getActual(this, arguments); + throw new AssertionError(msg, { + actual: actual + , expected: expected + , showDiff: showDiff + }, (Assertion.includeStack) ? this.assert : flag(this, 'ssfi')); + } + }; + + /*! + * ### ._obj + * + * Quick reference to stored `actual` value for plugin developers. + * + * @api private + */ + + Object.defineProperty(Assertion.prototype, '_obj', + { get: function () { + return flag(this, 'object'); + } + , set: function (val) { + flag(this, 'object', val); + } + }); +}; + +}); +require.register("chai/lib/chai/core/assertions.js", function(exports, require, module){ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, _) { + var Assertion = chai.Assertion + , toString = Object.prototype.toString + , flag = _.flag; + + /** + * ### Language Chains + * + * The following are provide as chainable getters to + * improve the readability of your assertions. They + * do not provide an testing capability unless they + * have been overwritten by a plugin. + * + * **Chains** + * + * - to + * - be + * - been + * - is + * - that + * - and + * - have + * - with + * - at + * - of + * - same + * + * @name language chains + * @api public + */ + + [ 'to', 'be', 'been' + , 'is', 'and', 'have' + , 'with', 'that', 'at' + , 'of', 'same' ].forEach(function (chain) { + Assertion.addProperty(chain, function () { + return this; + }); + }); + + /** + * ### .not + * + * Negates any of assertions following in the chain. + * + * expect(foo).to.not.equal('bar'); + * expect(goodFn).to.not.throw(Error); + * expect({ foo: 'baz' }).to.have.property('foo') + * .and.not.equal('bar'); + * + * @name not + * @api public + */ + + Assertion.addProperty('not', function () { + flag(this, 'negate', true); + }); + + /** + * ### .deep + * + * Sets the `deep` flag, later used by the `equal` and + * `property` assertions. + * + * expect(foo).to.deep.equal({ bar: 'baz' }); + * expect({ foo: { bar: { baz: 'quux' } } }) + * .to.have.deep.property('foo.bar.baz', 'quux'); + * + * @name deep + * @api public + */ + + Assertion.addProperty('deep', function () { + flag(this, 'deep', true); + }); + + /** + * ### .a(type) + * + * The `a` and `an` assertions are aliases that can be + * used either as language chains or to assert a value's + * type. + * + * // typeof + * expect('test').to.be.a('string'); + * expect({ foo: 'bar' }).to.be.an('object'); + * expect(null).to.be.a('null'); + * expect(undefined).to.be.an('undefined'); + * + * // language chain + * expect(foo).to.be.an.instanceof(Foo); + * + * @name a + * @alias an + * @param {String} type + * @param {String} message _optional_ + * @api public + */ + + function an (type, msg) { + if (msg) flag(this, 'message', msg); + type = type.toLowerCase(); + var obj = flag(this, 'object') + , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a '; + + this.assert( + type === _.type(obj) + , 'expected #{this} to be ' + article + type + , 'expected #{this} not to be ' + article + type + ); + } + + Assertion.addChainableMethod('an', an); + Assertion.addChainableMethod('a', an); + + /** + * ### .include(value) + * + * The `include` and `contain` assertions can be used as either property + * based language chains or as methods to assert the inclusion of an object + * in an array or a substring in a string. When used as language chains, + * they toggle the `contain` flag for the `keys` assertion. + * + * expect([1,2,3]).to.include(2); + * expect('foobar').to.contain('foo'); + * expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo'); + * + * @name include + * @alias contain + * @param {Object|String|Number} obj + * @param {String} message _optional_ + * @api public + */ + + function includeChainingBehavior () { + flag(this, 'contains', true); + } + + function include (val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + this.assert( + ~obj.indexOf(val) + , 'expected #{this} to include ' + _.inspect(val) + , 'expected #{this} to not include ' + _.inspect(val)); + } + + Assertion.addChainableMethod('include', include, includeChainingBehavior); + Assertion.addChainableMethod('contain', include, includeChainingBehavior); + + /** + * ### .ok + * + * Asserts that the target is truthy. + * + * expect('everthing').to.be.ok; + * expect(1).to.be.ok; + * expect(false).to.not.be.ok; + * expect(undefined).to.not.be.ok; + * expect(null).to.not.be.ok; + * + * @name ok + * @api public + */ + + Assertion.addProperty('ok', function () { + this.assert( + flag(this, 'object') + , 'expected #{this} to be truthy' + , 'expected #{this} to be falsy'); + }); + + /** + * ### .true + * + * Asserts that the target is `true`. + * + * expect(true).to.be.true; + * expect(1).to.not.be.true; + * + * @name true + * @api public + */ + + Assertion.addProperty('true', function () { + this.assert( + true === flag(this, 'object') + , 'expected #{this} to be true' + , 'expected #{this} to be false' + , this.negate ? false : true + ); + }); + + /** + * ### .false + * + * Asserts that the target is `false`. + * + * expect(false).to.be.false; + * expect(0).to.not.be.false; + * + * @name false + * @api public + */ + + Assertion.addProperty('false', function () { + this.assert( + false === flag(this, 'object') + , 'expected #{this} to be false' + , 'expected #{this} to be true' + , this.negate ? true : false + ); + }); + + /** + * ### .null + * + * Asserts that the target is `null`. + * + * expect(null).to.be.null; + * expect(undefined).not.to.be.null; + * + * @name null + * @api public + */ + + Assertion.addProperty('null', function () { + this.assert( + null === flag(this, 'object') + , 'expected #{this} to be null' + , 'expected #{this} not to be null' + ); + }); + + /** + * ### .undefined + * + * Asserts that the target is `undefined`. + * + * expect(undefined).to.be.undefined; + * expect(null).to.not.be.undefined; + * + * @name undefined + * @api public + */ + + Assertion.addProperty('undefined', function () { + this.assert( + undefined === flag(this, 'object') + , 'expected #{this} to be undefined' + , 'expected #{this} not to be undefined' + ); + }); + + /** + * ### .exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi' + * , bar = null + * , baz; + * + * expect(foo).to.exist; + * expect(bar).to.not.exist; + * expect(baz).to.not.exist; + * + * @name exist + * @api public + */ + + Assertion.addProperty('exist', function () { + this.assert( + null != flag(this, 'object') + , 'expected #{this} to exist' + , 'expected #{this} to not exist' + ); + }); + + + /** + * ### .empty + * + * Asserts that the target's length is `0`. For arrays, it checks + * the `length` property. For objects, it gets the count of + * enumerable keys. + * + * expect([]).to.be.empty; + * expect('').to.be.empty; + * expect({}).to.be.empty; + * + * @name empty + * @api public + */ + + Assertion.addProperty('empty', function () { + var obj = flag(this, 'object') + , expected = obj; + + if (Array.isArray(obj) || 'string' === typeof object) { + expected = obj.length; + } else if (typeof obj === 'object') { + expected = Object.keys(obj).length; + } + + this.assert( + !expected + , 'expected #{this} to be empty' + , 'expected #{this} not to be empty' + ); + }); + + /** + * ### .arguments + * + * Asserts that the target is an arguments object. + * + * function test () { + * expect(arguments).to.be.arguments; + * } + * + * @name arguments + * @alias Arguments + * @api public + */ + + function checkArguments () { + var obj = flag(this, 'object') + , type = Object.prototype.toString.call(obj); + this.assert( + '[object Arguments]' === type + , 'expected #{this} to be arguments but got ' + type + , 'expected #{this} to not be arguments' + ); + } + + Assertion.addProperty('arguments', checkArguments); + Assertion.addProperty('Arguments', checkArguments); + + /** + * ### .equal(value) + * + * Asserts that the target is strictly equal (`===`) to `value`. + * Alternately, if the `deep` flag is set, asserts that + * the target is deeply equal to `value`. + * + * expect('hello').to.equal('hello'); + * expect(42).to.equal(42); + * expect(1).to.not.equal(true); + * expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' }); + * expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' }); + * + * @name equal + * @alias equals + * @alias eq + * @alias deep.equal + * @param {Mixed} value + * @param {String} message _optional_ + * @api public + */ + + function assertEqual (val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'deep')) { + return this.eql(val); + } else { + this.assert( + val === obj + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{exp}' + , val + , this._obj + , true + ); + } + } + + Assertion.addMethod('equal', assertEqual); + Assertion.addMethod('equals', assertEqual); + Assertion.addMethod('eq', assertEqual); + + /** + * ### .eql(value) + * + * Asserts that the target is deeply equal to `value`. + * + * expect({ foo: 'bar' }).to.eql({ foo: 'bar' }); + * expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]); + * + * @name eql + * @alias eqls + * @param {Mixed} value + * @param {String} message _optional_ + * @api public + */ + + function assertEql(obj, msg) { + if (msg) flag(this, 'message', msg); + this.assert( + _.eql(obj, flag(this, 'object')) + , 'expected #{this} to deeply equal #{exp}' + , 'expected #{this} to not deeply equal #{exp}' + , obj + , this._obj + , true + ); + } + + Assertion.addMethod('eql', assertEql); + Assertion.addMethod('eqls', assertEql); + + /** + * ### .above(value) + * + * Asserts that the target is greater than `value`. + * + * expect(10).to.be.above(5); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * + * @name above + * @alias gt + * @alias greaterThan + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertAbove (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len > n + , 'expected #{this} to have a length above #{exp} but got #{act}' + , 'expected #{this} to not have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj > n + , 'expected #{this} to be above ' + n + , 'expected #{this} to be at most ' + n + ); + } + } + + Assertion.addMethod('above', assertAbove); + Assertion.addMethod('gt', assertAbove); + Assertion.addMethod('greaterThan', assertAbove); + + /** + * ### .least(value) + * + * Asserts that the target is greater than or equal to `value`. + * + * expect(10).to.be.at.least(10); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.least(2); + * expect([ 1, 2, 3 ]).to.have.length.of.at.least(3); + * + * @name least + * @alias gte + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertLeast (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= n + , 'expected #{this} to have a length at least #{exp} but got #{act}' + , 'expected #{this} to have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj >= n + , 'expected #{this} to be at least ' + n + , 'expected #{this} to be below ' + n + ); + } + } + + Assertion.addMethod('least', assertLeast); + Assertion.addMethod('gte', assertLeast); + + /** + * ### .below(value) + * + * Asserts that the target is less than `value`. + * + * expect(5).to.be.below(10); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * + * @name below + * @alias lt + * @alias lessThan + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertBelow (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len < n + , 'expected #{this} to have a length below #{exp} but got #{act}' + , 'expected #{this} to not have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj < n + , 'expected #{this} to be below ' + n + , 'expected #{this} to be at least ' + n + ); + } + } + + Assertion.addMethod('below', assertBelow); + Assertion.addMethod('lt', assertBelow); + Assertion.addMethod('lessThan', assertBelow); + + /** + * ### .most(value) + * + * Asserts that the target is less than or equal to `value`. + * + * expect(5).to.be.at.most(5); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.most(4); + * expect([ 1, 2, 3 ]).to.have.length.of.at.most(3); + * + * @name most + * @alias lte + * @param {Number} value + * @param {String} message _optional_ + * @api public + */ + + function assertMost (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len <= n + , 'expected #{this} to have a length at most #{exp} but got #{act}' + , 'expected #{this} to have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj <= n + , 'expected #{this} to be at most ' + n + , 'expected #{this} to be above ' + n + ); + } + } + + Assertion.addMethod('most', assertMost); + Assertion.addMethod('lte', assertMost); + + /** + * ### .within(start, finish) + * + * Asserts that the target is within a range. + * + * expect(7).to.be.within(5,10); + * + * Can also be used in conjunction with `length` to + * assert a length range. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * @name within + * @param {Number} start lowerbound inclusive + * @param {Number} finish upperbound inclusive + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('within', function (start, finish, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , range = start + '..' + finish; + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= start && len <= finish + , 'expected #{this} to have a length within ' + range + , 'expected #{this} to not have a length within ' + range + ); + } else { + this.assert( + obj >= start && obj <= finish + , 'expected #{this} to be within ' + range + , 'expected #{this} to not be within ' + range + ); + } + }); + + /** + * ### .instanceof(constructor) + * + * Asserts that the target is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , Chai = new Tea('chai'); + * + * expect(Chai).to.be.an.instanceof(Tea); + * expect([ 1, 2, 3 ]).to.be.instanceof(Array); + * + * @name instanceof + * @param {Constructor} constructor + * @param {String} message _optional_ + * @alias instanceOf + * @api public + */ + + function assertInstanceOf (constructor, msg) { + if (msg) flag(this, 'message', msg); + var name = _.getName(constructor); + this.assert( + flag(this, 'object') instanceof constructor + , 'expected #{this} to be an instance of ' + name + , 'expected #{this} to not be an instance of ' + name + ); + }; + + Assertion.addMethod('instanceof', assertInstanceOf); + Assertion.addMethod('instanceOf', assertInstanceOf); + + /** + * ### .property(name, [value]) + * + * Asserts that the target has a property `name`, optionally asserting that + * the value of that property is strictly equal to `value`. + * If the `deep` flag is set, you can use dot- and bracket-notation for deep + * references into objects and arrays. + * + * // simple referencing + * var obj = { foo: 'bar' }; + * expect(obj).to.have.property('foo'); + * expect(obj).to.have.property('foo', 'bar'); + * + * // deep referencing + * var deepObj = { + * green: { tea: 'matcha' } + * , teas: [ 'chai', 'matcha', { tea: 'konacha' } ] + * }; + + * expect(deepObj).to.have.deep.property('green.tea', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[1]', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[2].tea', 'konacha'); + * + * You can also use an array as the starting point of a `deep.property` + * assertion, or traverse nested arrays. + * + * var arr = [ + * [ 'chai', 'matcha', 'konacha' ] + * , [ { tea: 'chai' } + * , { tea: 'matcha' } + * , { tea: 'konacha' } ] + * ]; + * + * expect(arr).to.have.deep.property('[0][1]', 'matcha'); + * expect(arr).to.have.deep.property('[1][2].tea', 'konacha'); + * + * Furthermore, `property` changes the subject of the assertion + * to be the value of that property from the original object. This + * permits for further chainable assertions on that property. + * + * expect(obj).to.have.property('foo') + * .that.is.a('string'); + * expect(deepObj).to.have.property('green') + * .that.is.an('object') + * .that.deep.equals({ tea: 'matcha' }); + * expect(deepObj).to.have.property('teas') + * .that.is.an('array') + * .with.deep.property('[2]') + * .that.deep.equals({ tea: 'konacha' }); + * + * @name property + * @alias deep.property + * @param {String} name + * @param {Mixed} value (optional) + * @param {String} message _optional_ + * @returns value of property for chaining + * @api public + */ + + Assertion.addMethod('property', function (name, val, msg) { + if (msg) flag(this, 'message', msg); + + var descriptor = flag(this, 'deep') ? 'deep property ' : 'property ' + , negate = flag(this, 'negate') + , obj = flag(this, 'object') + , value = flag(this, 'deep') + ? _.getPathValue(name, obj) + : obj[name]; + + if (negate && undefined !== val) { + if (undefined === value) { + msg = (msg != null) ? msg + ': ' : ''; + throw new Error(msg + _.inspect(obj) + ' has no ' + descriptor + _.inspect(name)); + } + } else { + this.assert( + undefined !== value + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + , 'expected #{this} to not have ' + descriptor + _.inspect(name)); + } + + if (undefined !== val) { + this.assert( + val === value + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}' + , 'expected #{this} to not have a ' + descriptor + _.inspect(name) + ' of #{act}' + , val + , value + ); + } + + flag(this, 'object', value); + }); + + + /** + * ### .ownProperty(name) + * + * Asserts that the target has an own property `name`. + * + * expect('test').to.have.ownProperty('length'); + * + * @name ownProperty + * @alias haveOwnProperty + * @param {String} name + * @param {String} message _optional_ + * @api public + */ + + function assertOwnProperty (name, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + obj.hasOwnProperty(name) + , 'expected #{this} to have own property ' + _.inspect(name) + , 'expected #{this} to not have own property ' + _.inspect(name) + ); + } + + Assertion.addMethod('ownProperty', assertOwnProperty); + Assertion.addMethod('haveOwnProperty', assertOwnProperty); + + /** + * ### .length(value) + * + * Asserts that the target's `length` property has + * the expected value. + * + * expect([ 1, 2, 3]).to.have.length(3); + * expect('foobar').to.have.length(6); + * + * Can also be used as a chain precursor to a value + * comparison for the length property. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * @name length + * @alias lengthOf + * @param {Number} length + * @param {String} message _optional_ + * @api public + */ + + function assertLengthChain () { + flag(this, 'doLength', true); + } + + function assertLength (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + + this.assert( + len == n + , 'expected #{this} to have a length of #{exp} but got #{act}' + , 'expected #{this} to not have a length of #{act}' + , n + , len + ); + } + + Assertion.addChainableMethod('length', assertLength, assertLengthChain); + Assertion.addMethod('lengthOf', assertLength, assertLengthChain); + + /** + * ### .match(regexp) + * + * Asserts that the target matches a regular expression. + * + * expect('foobar').to.match(/^foo/); + * + * @name match + * @param {RegExp} RegularExpression + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('match', function (re, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + re.exec(obj) + , 'expected #{this} to match ' + re + , 'expected #{this} not to match ' + re + ); + }); + + /** + * ### .string(string) + * + * Asserts that the string target contains another string. + * + * expect('foobar').to.have.string('bar'); + * + * @name string + * @param {String} string + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('string', function (str, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('string'); + + this.assert( + ~obj.indexOf(str) + , 'expected #{this} to contain ' + _.inspect(str) + , 'expected #{this} to not contain ' + _.inspect(str) + ); + }); + + + /** + * ### .keys(key1, [key2], [...]) + * + * Asserts that the target has exactly the given keys, or + * asserts the inclusion of some keys when using the + * `include` or `contain` modifiers. + * + * expect({ foo: 1, bar: 2 }).to.have.keys(['foo', 'bar']); + * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.keys('foo', 'bar'); + * + * @name keys + * @alias key + * @param {String...|Array} keys + * @api public + */ + + function assertKeys (keys) { + var obj = flag(this, 'object') + , str + , ok = true; + + keys = keys instanceof Array + ? keys + : Array.prototype.slice.call(arguments); + + if (!keys.length) throw new Error('keys required'); + + var actual = Object.keys(obj) + , len = keys.length; + + // Inclusion + ok = keys.every(function(key){ + return ~actual.indexOf(key); + }); + + // Strict + if (!flag(this, 'negate') && !flag(this, 'contains')) { + ok = ok && keys.length == actual.length; + } + + // Key string + if (len > 1) { + keys = keys.map(function(key){ + return _.inspect(key); + }); + var last = keys.pop(); + str = keys.join(', ') + ', and ' + last; + } else { + str = _.inspect(keys[0]); + } + + // Form + str = (len > 1 ? 'keys ' : 'key ') + str; + + // Have / include + str = (flag(this, 'contains') ? 'contain ' : 'have ') + str; + + // Assertion + this.assert( + ok + , 'expected #{this} to ' + str + , 'expected #{this} to not ' + str + ); + } + + Assertion.addMethod('keys', assertKeys); + Assertion.addMethod('key', assertKeys); + + /** + * ### .throw(constructor) + * + * Asserts that the function target will throw a specific error, or specific type of error + * (as determined using `instanceof`), optionally with a RegExp or string inclusion test + * for the error's message. + * + * var err = new ReferenceError('This is a bad function.'); + * var fn = function () { throw err; } + * expect(fn).to.throw(ReferenceError); + * expect(fn).to.throw(Error); + * expect(fn).to.throw(/bad function/); + * expect(fn).to.not.throw('good function'); + * expect(fn).to.throw(ReferenceError, /bad function/); + * expect(fn).to.throw(err); + * expect(fn).to.not.throw(new RangeError('Out of range.')); + * + * Please note that when a throw expectation is negated, it will check each + * parameter independently, starting with error constructor type. The appropriate way + * to check for the existence of a type of error but for a message that does not match + * is to use `and`. + * + * expect(fn).to.throw(ReferenceError) + * .and.not.throw(/good function/); + * + * @name throw + * @alias throws + * @alias Throw + * @param {ErrorConstructor} constructor + * @param {String|RegExp} expected error message + * @param {String} message _optional_ + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @api public + */ + + function assertThrows (constructor, errMsg, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('function'); + + var thrown = false + , desiredError = null + , name = null + , thrownError = null; + + if (arguments.length === 0) { + errMsg = null; + constructor = null; + } else if (constructor && (constructor instanceof RegExp || 'string' === typeof constructor)) { + errMsg = constructor; + constructor = null; + } else if (constructor && constructor instanceof Error) { + desiredError = constructor; + constructor = null; + errMsg = null; + } else if (typeof constructor === 'function') { + name = (new constructor()).name; + } else { + constructor = null; + } + + try { + obj(); + } catch (err) { + // first, check desired error + if (desiredError) { + this.assert( + err === desiredError + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp}' + , desiredError + , err + ); + + return this; + } + // next, check constructor + if (constructor) { + this.assert( + err instanceof constructor + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp} but #{act} was thrown' + , name + , err + ); + + if (!errMsg) return this; + } + // next, check message + var message = 'object' === _.type(err) && "message" in err + ? err.message + : '' + err; + + if ((message != null) && errMsg && errMsg instanceof RegExp) { + this.assert( + errMsg.exec(message) + , 'expected #{this} to throw error matching #{exp} but got #{act}' + , 'expected #{this} to throw error not matching #{exp}' + , errMsg + , message + ); + + return this; + } else if ((message != null) && errMsg && 'string' === typeof errMsg) { + this.assert( + ~message.indexOf(errMsg) + , 'expected #{this} to throw error including #{exp} but got #{act}' + , 'expected #{this} to throw error not including #{act}' + , errMsg + , message + ); + + return this; + } else { + thrown = true; + thrownError = err; + } + } + + var actuallyGot = '' + , expectedThrown = name !== null + ? name + : desiredError + ? '#{exp}' //_.inspect(desiredError) + : 'an error'; + + if (thrown) { + actuallyGot = ' but #{act} was thrown' + } + + this.assert( + thrown === true + , 'expected #{this} to throw ' + expectedThrown + actuallyGot + , 'expected #{this} to not throw ' + expectedThrown + actuallyGot + , desiredError + , thrownError + ); + }; + + Assertion.addMethod('throw', assertThrows); + Assertion.addMethod('throws', assertThrows); + Assertion.addMethod('Throw', assertThrows); + + /** + * ### .respondTo(method) + * + * Asserts that the object or class target will respond to a method. + * + * Klass.prototype.bar = function(){}; + * expect(Klass).to.respondTo('bar'); + * expect(obj).to.respondTo('bar'); + * + * To check if a constructor will respond to a static function, + * set the `itself` flag. + * + * Klass.baz = function(){}; + * expect(Klass).itself.to.respondTo('baz'); + * + * @name respondTo + * @param {String} method + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('respondTo', function (method, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , itself = flag(this, 'itself') + , context = ('function' === _.type(obj) && !itself) + ? obj.prototype[method] + : obj[method]; + + this.assert( + 'function' === typeof context + , 'expected #{this} to respond to ' + _.inspect(method) + , 'expected #{this} to not respond to ' + _.inspect(method) + ); + }); + + /** + * ### .itself + * + * Sets the `itself` flag, later used by the `respondTo` assertion. + * + * function Foo() {} + * Foo.bar = function() {} + * Foo.prototype.baz = function() {} + * + * expect(Foo).itself.to.respondTo('bar'); + * expect(Foo).itself.not.to.respondTo('baz'); + * + * @name itself + * @api public + */ + + Assertion.addProperty('itself', function () { + flag(this, 'itself', true); + }); + + /** + * ### .satisfy(method) + * + * Asserts that the target passes a given truth test. + * + * expect(1).to.satisfy(function(num) { return num > 0; }); + * + * @name satisfy + * @param {Function} matcher + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('satisfy', function (matcher, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + matcher(obj) + , 'expected #{this} to satisfy ' + _.objDisplay(matcher) + , 'expected #{this} to not satisfy' + _.objDisplay(matcher) + , this.negate ? false : true + , matcher(obj) + ); + }); + + /** + * ### .closeTo(expected, delta) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * expect(1.5).to.be.closeTo(1, 0.5); + * + * @name closeTo + * @param {Number} expected + * @param {Number} delta + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('closeTo', function (expected, delta, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + Math.abs(obj - expected) <= delta + , 'expected #{this} to be close to ' + expected + ' +/- ' + delta + , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta + ); + }); + + function isSubsetOf(subset, superset) { + return subset.every(function(elem) { + return superset.indexOf(elem) !== -1; + }) + } + + /** + * ### .members(set) + * + * Asserts that the target is a superset of `set`, + * or that the target and `set` have the same members. + * + * expect([1, 2, 3]).to.include.members([3, 2]); + * expect([1, 2, 3]).to.not.include.members([3, 2, 8]); + * + * expect([4, 2]).to.have.members([2, 4]); + * expect([5, 2]).to.not.have.members([5, 2, 1]); + * + * @name members + * @param {Array} set + * @param {String} message _optional_ + * @api public + */ + + Assertion.addMethod('members', function (subset, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + new Assertion(obj).to.be.an('array'); + new Assertion(subset).to.be.an('array'); + + if (flag(this, 'contains')) { + return this.assert( + isSubsetOf(subset, obj) + , 'expected #{this} to be a superset of #{act}' + , 'expected #{this} to not be a superset of #{act}' + , obj + , subset + ); + } + + this.assert( + isSubsetOf(obj, subset) && isSubsetOf(subset, obj) + , 'expected #{this} to have the same members as #{act}' + , 'expected #{this} to not have the same members as #{act}' + , obj + , subset + ); + }); +}; + +}); +require.register("chai/lib/chai/interface/assert.js", function(exports, require, module){ +/*! + * chai + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + + +module.exports = function (chai, util) { + + /*! + * Chai dependencies. + */ + + var Assertion = chai.Assertion + , flag = util.flag; + + /*! + * Module export. + */ + + /** + * ### assert(expression, message) + * + * Write your own test expressions. + * + * assert('foo' !== 'bar', 'foo is not bar'); + * assert(Array.isArray([]), 'empty arrays are arrays'); + * + * @param {Mixed} expression to test for truthiness + * @param {String} message to display on error + * @name assert + * @api public + */ + + var assert = chai.assert = function (express, errmsg) { + var test = new Assertion(null); + test.assert( + express + , errmsg + , '[ negation message unavailable ]' + ); + }; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. Node.js `assert` module-compatible. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @api public + */ + + assert.fail = function (actual, expected, message, operator) { + throw new chai.AssertionError({ + actual: actual + , expected: expected + , message: message + , operator: operator + , stackStartFunction: assert.fail + }); + }; + + /** + * ### .ok(object, [message]) + * + * Asserts that `object` is truthy. + * + * assert.ok('everything', 'everything is ok'); + * assert.ok(false, 'this will fail'); + * + * @name ok + * @param {Mixed} object to test + * @param {String} message + * @api public + */ + + assert.ok = function (val, msg) { + new Assertion(val, msg).is.ok; + }; + + /** + * ### .notOk(object, [message]) + * + * Asserts that `object` is falsy. + * + * assert.notOk('everything', 'this will fail'); + * assert.notOk(false, 'this will pass'); + * + * @name notOk + * @param {Mixed} object to test + * @param {String} message + * @api public + */ + + assert.notOk = function (val, msg) { + new Assertion(val, msg).is.not.ok; + }; + + /** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * assert.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.equal = function (act, exp, msg) { + var test = new Assertion(act, msg); + + test.assert( + exp == flag(test, 'object') + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{act}' + , exp + , act + ); + }; + + /** + * ### .notEqual(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * assert.notEqual(3, 4, 'these numbers are not equal'); + * + * @name notEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notEqual = function (act, exp, msg) { + var test = new Assertion(act, msg); + + test.assert( + exp != flag(test, 'object') + , 'expected #{this} to not equal #{exp}' + , 'expected #{this} to equal #{act}' + , exp + , act + ); + }; + + /** + * ### .strictEqual(actual, expected, [message]) + * + * Asserts strict equality (`===`) of `actual` and `expected`. + * + * assert.strictEqual(true, true, 'these booleans are strictly equal'); + * + * @name strictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.strictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.equal(exp); + }; + + /** + * ### .notStrictEqual(actual, expected, [message]) + * + * Asserts strict inequality (`!==`) of `actual` and `expected`. + * + * assert.notStrictEqual(3, '3', 'no coercion for strict equality'); + * + * @name notStrictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notStrictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.equal(exp); + }; + + /** + * ### .deepEqual(actual, expected, [message]) + * + * Asserts that `actual` is deeply equal to `expected`. + * + * assert.deepEqual({ tea: 'green' }, { tea: 'green' }); + * + * @name deepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.deepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.eql(exp); + }; + + /** + * ### .notDeepEqual(actual, expected, [message]) + * + * Assert that `actual` is not deeply equal to `expected`. + * + * assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' }); + * + * @name notDeepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @api public + */ + + assert.notDeepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.eql(exp); + }; + + /** + * ### .isTrue(value, [message]) + * + * Asserts that `value` is true. + * + * var teaServed = true; + * assert.isTrue(teaServed, 'the tea has been served'); + * + * @name isTrue + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isTrue = function (val, msg) { + new Assertion(val, msg).is['true']; + }; + + /** + * ### .isFalse(value, [message]) + * + * Asserts that `value` is false. + * + * var teaServed = false; + * assert.isFalse(teaServed, 'no tea yet? hmm...'); + * + * @name isFalse + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isFalse = function (val, msg) { + new Assertion(val, msg).is['false']; + }; + + /** + * ### .isNull(value, [message]) + * + * Asserts that `value` is null. + * + * assert.isNull(err, 'there was no error'); + * + * @name isNull + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNull = function (val, msg) { + new Assertion(val, msg).to.equal(null); + }; + + /** + * ### .isNotNull(value, [message]) + * + * Asserts that `value` is not null. + * + * var tea = 'tasty chai'; + * assert.isNotNull(tea, 'great, time for tea!'); + * + * @name isNotNull + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotNull = function (val, msg) { + new Assertion(val, msg).to.not.equal(null); + }; + + /** + * ### .isUndefined(value, [message]) + * + * Asserts that `value` is `undefined`. + * + * var tea; + * assert.isUndefined(tea, 'no tea defined'); + * + * @name isUndefined + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isUndefined = function (val, msg) { + new Assertion(val, msg).to.equal(undefined); + }; + + /** + * ### .isDefined(value, [message]) + * + * Asserts that `value` is not `undefined`. + * + * var tea = 'cup of chai'; + * assert.isDefined(tea, 'tea has been defined'); + * + * @name isDefined + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isDefined = function (val, msg) { + new Assertion(val, msg).to.not.equal(undefined); + }; + + /** + * ### .isFunction(value, [message]) + * + * Asserts that `value` is a function. + * + * function serveTea() { return 'cup of tea'; }; + * assert.isFunction(serveTea, 'great, we can have tea now'); + * + * @name isFunction + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isFunction = function (val, msg) { + new Assertion(val, msg).to.be.a('function'); + }; + + /** + * ### .isNotFunction(value, [message]) + * + * Asserts that `value` is _not_ a function. + * + * var serveTea = [ 'heat', 'pour', 'sip' ]; + * assert.isNotFunction(serveTea, 'great, we have listed the steps'); + * + * @name isNotFunction + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotFunction = function (val, msg) { + new Assertion(val, msg).to.not.be.a('function'); + }; + + /** + * ### .isObject(value, [message]) + * + * Asserts that `value` is an object (as revealed by + * `Object.prototype.toString`). + * + * var selection = { name: 'Chai', serve: 'with spices' }; + * assert.isObject(selection, 'tea selection is an object'); + * + * @name isObject + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isObject = function (val, msg) { + new Assertion(val, msg).to.be.a('object'); + }; + + /** + * ### .isNotObject(value, [message]) + * + * Asserts that `value` is _not_ an object. + * + * var selection = 'chai' + * assert.isObject(selection, 'tea selection is not an object'); + * assert.isObject(null, 'null is not an object'); + * + * @name isNotObject + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotObject = function (val, msg) { + new Assertion(val, msg).to.not.be.a('object'); + }; + + /** + * ### .isArray(value, [message]) + * + * Asserts that `value` is an array. + * + * var menu = [ 'green', 'chai', 'oolong' ]; + * assert.isArray(menu, 'what kind of tea do we want?'); + * + * @name isArray + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isArray = function (val, msg) { + new Assertion(val, msg).to.be.an('array'); + }; + + /** + * ### .isNotArray(value, [message]) + * + * Asserts that `value` is _not_ an array. + * + * var menu = 'green|chai|oolong'; + * assert.isNotArray(menu, 'what kind of tea do we want?'); + * + * @name isNotArray + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotArray = function (val, msg) { + new Assertion(val, msg).to.not.be.an('array'); + }; + + /** + * ### .isString(value, [message]) + * + * Asserts that `value` is a string. + * + * var teaOrder = 'chai'; + * assert.isString(teaOrder, 'order placed'); + * + * @name isString + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isString = function (val, msg) { + new Assertion(val, msg).to.be.a('string'); + }; + + /** + * ### .isNotString(value, [message]) + * + * Asserts that `value` is _not_ a string. + * + * var teaOrder = 4; + * assert.isNotString(teaOrder, 'order placed'); + * + * @name isNotString + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotString = function (val, msg) { + new Assertion(val, msg).to.not.be.a('string'); + }; + + /** + * ### .isNumber(value, [message]) + * + * Asserts that `value` is a number. + * + * var cups = 2; + * assert.isNumber(cups, 'how many cups'); + * + * @name isNumber + * @param {Number} value + * @param {String} message + * @api public + */ + + assert.isNumber = function (val, msg) { + new Assertion(val, msg).to.be.a('number'); + }; + + /** + * ### .isNotNumber(value, [message]) + * + * Asserts that `value` is _not_ a number. + * + * var cups = '2 cups please'; + * assert.isNotNumber(cups, 'how many cups'); + * + * @name isNotNumber + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotNumber = function (val, msg) { + new Assertion(val, msg).to.not.be.a('number'); + }; + + /** + * ### .isBoolean(value, [message]) + * + * Asserts that `value` is a boolean. + * + * var teaReady = true + * , teaServed = false; + * + * assert.isBoolean(teaReady, 'is the tea ready'); + * assert.isBoolean(teaServed, 'has tea been served'); + * + * @name isBoolean + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isBoolean = function (val, msg) { + new Assertion(val, msg).to.be.a('boolean'); + }; + + /** + * ### .isNotBoolean(value, [message]) + * + * Asserts that `value` is _not_ a boolean. + * + * var teaReady = 'yep' + * , teaServed = 'nope'; + * + * assert.isNotBoolean(teaReady, 'is the tea ready'); + * assert.isNotBoolean(teaServed, 'has tea been served'); + * + * @name isNotBoolean + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.isNotBoolean = function (val, msg) { + new Assertion(val, msg).to.not.be.a('boolean'); + }; + + /** + * ### .typeOf(value, name, [message]) + * + * Asserts that `value`'s type is `name`, as determined by + * `Object.prototype.toString`. + * + * assert.typeOf({ tea: 'chai' }, 'object', 'we have an object'); + * assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array'); + * assert.typeOf('tea', 'string', 'we have a string'); + * assert.typeOf(/tea/, 'regexp', 'we have a regular expression'); + * assert.typeOf(null, 'null', 'we have a null'); + * assert.typeOf(undefined, 'undefined', 'we have an undefined'); + * + * @name typeOf + * @param {Mixed} value + * @param {String} name + * @param {String} message + * @api public + */ + + assert.typeOf = function (val, type, msg) { + new Assertion(val, msg).to.be.a(type); + }; + + /** + * ### .notTypeOf(value, name, [message]) + * + * Asserts that `value`'s type is _not_ `name`, as determined by + * `Object.prototype.toString`. + * + * assert.notTypeOf('tea', 'number', 'strings are not numbers'); + * + * @name notTypeOf + * @param {Mixed} value + * @param {String} typeof name + * @param {String} message + * @api public + */ + + assert.notTypeOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.a(type); + }; + + /** + * ### .instanceOf(object, constructor, [message]) + * + * Asserts that `value` is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new Tea('chai'); + * + * assert.instanceOf(chai, Tea, 'chai is an instance of tea'); + * + * @name instanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @api public + */ + + assert.instanceOf = function (val, type, msg) { + new Assertion(val, msg).to.be.instanceOf(type); + }; + + /** + * ### .notInstanceOf(object, constructor, [message]) + * + * Asserts `value` is not an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new String('chai'); + * + * assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea'); + * + * @name notInstanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @api public + */ + + assert.notInstanceOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.instanceOf(type); + }; + + /** + * ### .include(haystack, needle, [message]) + * + * Asserts that `haystack` includes `needle`. Works + * for strings and arrays. + * + * assert.include('foobar', 'bar', 'foobar contains string "bar"'); + * assert.include([ 1, 2, 3 ], 3, 'array contains value'); + * + * @name include + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @api public + */ + + assert.include = function (exp, inc, msg) { + var obj = new Assertion(exp, msg); + + if (Array.isArray(exp)) { + obj.to.include(inc); + } else if ('string' === typeof exp) { + obj.to.contain.string(inc); + } else { + throw new chai.AssertionError( + 'expected an array or string' + , null + , assert.include + ); + } + }; + + /** + * ### .notInclude(haystack, needle, [message]) + * + * Asserts that `haystack` does not include `needle`. Works + * for strings and arrays. + *i + * assert.notInclude('foobar', 'baz', 'string not include substring'); + * assert.notInclude([ 1, 2, 3 ], 4, 'array not include contain value'); + * + * @name notInclude + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @api public + */ + + assert.notInclude = function (exp, inc, msg) { + var obj = new Assertion(exp, msg); + + if (Array.isArray(exp)) { + obj.to.not.include(inc); + } else if ('string' === typeof exp) { + obj.to.not.contain.string(inc); + } else { + throw new chai.AssertionError( + 'expected an array or string' + , null + , assert.notInclude + ); + } + }; + + /** + * ### .match(value, regexp, [message]) + * + * Asserts that `value` matches the regular expression `regexp`. + * + * assert.match('foobar', /^foo/, 'regexp matches'); + * + * @name match + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @api public + */ + + assert.match = function (exp, re, msg) { + new Assertion(exp, msg).to.match(re); + }; + + /** + * ### .notMatch(value, regexp, [message]) + * + * Asserts that `value` does not match the regular expression `regexp`. + * + * assert.notMatch('foobar', /^foo/, 'regexp does not match'); + * + * @name notMatch + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @api public + */ + + assert.notMatch = function (exp, re, msg) { + new Assertion(exp, msg).to.not.match(re); + }; + + /** + * ### .property(object, property, [message]) + * + * Asserts that `object` has a property named by `property`. + * + * assert.property({ tea: { green: 'matcha' }}, 'tea'); + * + * @name property + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.property = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.property(prop); + }; + + /** + * ### .notProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`. + * + * assert.notProperty({ tea: { green: 'matcha' }}, 'coffee'); + * + * @name notProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.notProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.property(prop); + }; + + /** + * ### .deepProperty(object, property, [message]) + * + * Asserts that `object` has a property named by `property`, which can be a + * string using dot- and bracket-notation for deep reference. + * + * assert.deepProperty({ tea: { green: 'matcha' }}, 'tea.green'); + * + * @name deepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.deepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.deep.property(prop); + }; + + /** + * ### .notDeepProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`, which + * can be a string using dot- and bracket-notation for deep reference. + * + * assert.notDeepProperty({ tea: { green: 'matcha' }}, 'tea.oolong'); + * + * @name notDeepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @api public + */ + + assert.notDeepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop); + }; + + /** + * ### .propertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. + * + * assert.propertyVal({ tea: 'is good' }, 'tea', 'is good'); + * + * @name propertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.propertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.property(prop, val); + }; + + /** + * ### .propertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. + * + * assert.propertyNotVal({ tea: 'is good' }, 'tea', 'is bad'); + * + * @name propertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.propertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.property(prop, val); + }; + + /** + * ### .deepPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. `property` can use dot- and bracket-notation for deep + * reference. + * + * assert.deepPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha'); + * + * @name deepPropertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.deepPropertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.deep.property(prop, val); + }; + + /** + * ### .deepPropertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. `property` can use dot- and + * bracket-notation for deep reference. + * + * assert.deepPropertyNotVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha'); + * + * @name deepPropertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @api public + */ + + assert.deepPropertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop, val); + }; + + /** + * ### .lengthOf(object, length, [message]) + * + * Asserts that `object` has a `length` property with the expected value. + * + * assert.lengthOf([1,2,3], 3, 'array has length of 3'); + * assert.lengthOf('foobar', 5, 'string has length of 6'); + * + * @name lengthOf + * @param {Mixed} object + * @param {Number} length + * @param {String} message + * @api public + */ + + assert.lengthOf = function (exp, len, msg) { + new Assertion(exp, msg).to.have.length(len); + }; + + /** + * ### .throws(function, [constructor/string/regexp], [string/regexp], [message]) + * + * Asserts that `function` will throw an error that is an instance of + * `constructor`, or alternately that it will throw an error with message + * matching `regexp`. + * + * assert.throw(fn, 'function throws a reference error'); + * assert.throw(fn, /function throws a reference error/); + * assert.throw(fn, ReferenceError); + * assert.throw(fn, ReferenceError, 'function throws a reference error'); + * assert.throw(fn, ReferenceError, /function throws a reference error/); + * + * @name throws + * @alias throw + * @alias Throw + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @api public + */ + + assert.Throw = function (fn, errt, errs, msg) { + if ('string' === typeof errt || errt instanceof RegExp) { + errs = errt; + errt = null; + } + + new Assertion(fn, msg).to.Throw(errt, errs); + }; + + /** + * ### .doesNotThrow(function, [constructor/regexp], [message]) + * + * Asserts that `function` will _not_ throw an error that is an instance of + * `constructor`, or alternately that it will not throw an error with message + * matching `regexp`. + * + * assert.doesNotThrow(fn, Error, 'function does not throw'); + * + * @name doesNotThrow + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @api public + */ + + assert.doesNotThrow = function (fn, type, msg) { + if ('string' === typeof type) { + msg = type; + type = null; + } + + new Assertion(fn, msg).to.not.Throw(type); + }; + + /** + * ### .operator(val1, operator, val2, [message]) + * + * Compares two values using `operator`. + * + * assert.operator(1, '<', 2, 'everything is ok'); + * assert.operator(1, '>', 2, 'this will fail'); + * + * @name operator + * @param {Mixed} val1 + * @param {String} operator + * @param {Mixed} val2 + * @param {String} message + * @api public + */ + + assert.operator = function (val, operator, val2, msg) { + if (!~['==', '===', '>', '>=', '<', '<=', '!=', '!=='].indexOf(operator)) { + throw new Error('Invalid operator "' + operator + '"'); + } + var test = new Assertion(eval(val + operator + val2), msg); + test.assert( + true === flag(test, 'object') + , 'expected ' + util.inspect(val) + ' to be ' + operator + ' ' + util.inspect(val2) + , 'expected ' + util.inspect(val) + ' to not be ' + operator + ' ' + util.inspect(val2) ); + }; + + /** + * ### .closeTo(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.closeTo(1.5, 1, 0.5, 'numbers are close'); + * + * @name closeTo + * @param {Number} actual + * @param {Number} expected + * @param {Number} delta + * @param {String} message + * @api public + */ + + assert.closeTo = function (act, exp, delta, msg) { + new Assertion(act, msg).to.be.closeTo(exp, delta); + }; + + /** + * ### .sameMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members. + * Order is not taken into account. + * + * assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); + * + * @name sameMembers + * @param {Array} superset + * @param {Array} subset + * @param {String} message + * @api public + */ + + assert.sameMembers = function (set1, set2, msg) { + new Assertion(set1, msg).to.have.same.members(set2); + } + + /** + * ### .includeMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset`. + * Order is not taken into account. + * + * assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members'); + * + * @name includeMembers + * @param {Array} superset + * @param {Array} subset + * @param {String} message + * @api public + */ + + assert.includeMembers = function (superset, subset, msg) { + new Assertion(superset, msg).to.include.members(subset); + } + + /*! + * Undocumented / untested + */ + + assert.ifError = function (val, msg) { + new Assertion(val, msg).to.not.be.ok; + }; + + /*! + * Aliases. + */ + + (function alias(name, as){ + assert[as] = assert[name]; + return alias; + }) + ('Throw', 'throw') + ('Throw', 'throws'); +}; + +}); +require.register("chai/lib/chai/interface/expect.js", function(exports, require, module){ +/*! + * chai + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, util) { + chai.expect = function (val, message) { + return new chai.Assertion(val, message); + }; +}; + + +}); +require.register("chai/lib/chai/interface/should.js", function(exports, require, module){ +/*! + * chai + * Copyright(c) 2011-2013 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, util) { + var Assertion = chai.Assertion; + + function loadShould () { + // modify Object.prototype to have `should` + Object.defineProperty(Object.prototype, 'should', + { + set: function (value) { + // See https://github.com/chaijs/chai/issues/86: this makes + // `whatever.should = someValue` actually set `someValue`, which is + // especially useful for `global.should = require('chai').should()`. + // + // Note that we have to use [[DefineProperty]] instead of [[Put]] + // since otherwise we would trigger this very setter! + Object.defineProperty(this, 'should', { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } + , get: function(){ + if (this instanceof String || this instanceof Number) { + return new Assertion(this.constructor(this)); + } else if (this instanceof Boolean) { + return new Assertion(this == true); + } + return new Assertion(this); + } + , configurable: true + }); + + var should = {}; + + should.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.equal(val2); + }; + + should.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.Throw(errt, errs); + }; + + should.exist = function (val, msg) { + new Assertion(val, msg).to.exist; + } + + // negation + should.not = {} + + should.not.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.not.equal(val2); + }; + + should.not.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.not.Throw(errt, errs); + }; + + should.not.exist = function (val, msg) { + new Assertion(val, msg).to.not.exist; + } + + should['throw'] = should['Throw']; + should.not['throw'] = should.not['Throw']; + + return should; + }; + + chai.should = loadShould; + chai.Should = loadShould; +}; + +}); +require.register("chai/lib/chai/utils/addChainableMethod.js", function(exports, require, module){ +/*! + * Chai - addChainingMethod utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependencies + */ + +var transferFlags = require('./transferFlags'); + +/*! + * Module variables + */ + +// Check whether `__proto__` is supported +var hasProtoSupport = '__proto__' in Object; + +// Without `__proto__` support, this module will need to add properties to a function. +// However, some Function.prototype methods cannot be overwritten, +// and there seems no easy cross-platform way to detect them (@see chaijs/chai/issues/69). +var excludeNames = /^(?:length|name|arguments|caller)$/; + +// Cache `Function` properties +var call = Function.prototype.call, + apply = Function.prototype.apply; + +/** + * ### addChainableMethod (ctx, name, method, chainingBehavior) + * + * Adds a method to an object, such that the method can also be chained. + * + * utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addChainableMethod('foo', fn, chainingBehavior); + * + * The result can then be used as both a method assertion, executing both `method` and + * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`. + * + * expect(fooStr).to.be.foo('bar'); + * expect(fooStr).to.be.foo.equal('foo'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for `name`, when called + * @param {Function} chainingBehavior function to be called every time the property is accessed + * @name addChainableMethod + * @api public + */ + +module.exports = function (ctx, name, method, chainingBehavior) { + if (typeof chainingBehavior !== 'function') + chainingBehavior = function () { }; + + Object.defineProperty(ctx, name, + { get: function () { + chainingBehavior.call(this); + + var assert = function () { + var result = method.apply(this, arguments); + return result === undefined ? this : result; + }; + + // Use `__proto__` if available + if (hasProtoSupport) { + // Inherit all properties from the object by replacing the `Function` prototype + var prototype = assert.__proto__ = Object.create(this); + // Restore the `call` and `apply` methods from `Function` + prototype.call = call; + prototype.apply = apply; + } + // Otherwise, redefine all properties (slow!) + else { + var asserterNames = Object.getOwnPropertyNames(ctx); + asserterNames.forEach(function (asserterName) { + if (!excludeNames.test(asserterName)) { + var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); + Object.defineProperty(assert, asserterName, pd); + } + }); + } + + transferFlags(this, assert); + return assert; + } + , configurable: true + }); +}; + +}); +require.register("chai/lib/chai/utils/addMethod.js", function(exports, require, module){ +/*! + * Chai - addMethod utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### .addMethod (ctx, name, method) + * + * Adds a method to the prototype of an object. + * + * utils.addMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(fooStr).to.be.foo('bar'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for name + * @name addMethod + * @api public + */ + +module.exports = function (ctx, name, method) { + ctx[name] = function () { + var result = method.apply(this, arguments); + return result === undefined ? this : result; + }; +}; + +}); +require.register("chai/lib/chai/utils/addProperty.js", function(exports, require, module){ +/*! + * Chai - addProperty utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### addProperty (ctx, name, getter) + * + * Adds a property to the prototype of an object. + * + * utils.addProperty(chai.Assertion.prototype, 'foo', function () { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.instanceof(Foo); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.foo; + * + * @param {Object} ctx object to which the property is added + * @param {String} name of property to add + * @param {Function} getter function to be used for name + * @name addProperty + * @api public + */ + +module.exports = function (ctx, name, getter) { + Object.defineProperty(ctx, name, + { get: function () { + var result = getter.call(this); + return result === undefined ? this : result; + } + , configurable: true + }); +}; + +}); +require.register("chai/lib/chai/utils/flag.js", function(exports, require, module){ +/*! + * Chai - flag utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### flag(object ,key, [value]) + * + * Get or set a flag value on an object. If a + * value is provided it will be set, else it will + * return the currently set value or `undefined` if + * the value is not set. + * + * utils.flag(this, 'foo', 'bar'); // setter + * utils.flag(this, 'foo'); // getter, returns `bar` + * + * @param {Object} object (constructed Assertion + * @param {String} key + * @param {Mixed} value (optional) + * @name flag + * @api private + */ + +module.exports = function (obj, key, value) { + var flags = obj.__flags || (obj.__flags = Object.create(null)); + if (arguments.length === 3) { + flags[key] = value; + } else { + return flags[key]; + } +}; + +}); +require.register("chai/lib/chai/utils/getActual.js", function(exports, require, module){ +/*! + * Chai - getActual utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * # getActual(object, [actual]) + * + * Returns the `actual` value for an Assertion + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + */ + +module.exports = function (obj, args) { + var actual = args[4]; + return 'undefined' !== typeof actual ? actual : obj._obj; +}; + +}); +require.register("chai/lib/chai/utils/getEnumerableProperties.js", function(exports, require, module){ +/*! + * Chai - getEnumerableProperties utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### .getEnumerableProperties(object) + * + * This allows the retrieval of enumerable property names of an object, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @name getEnumerableProperties + * @api public + */ + +module.exports = function getEnumerableProperties(object) { + var result = []; + for (var name in object) { + result.push(name); + } + return result; +}; + +}); +require.register("chai/lib/chai/utils/getMessage.js", function(exports, require, module){ +/*! + * Chai - message composition utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var flag = require('./flag') + , getActual = require('./getActual') + , inspect = require('./inspect') + , objDisplay = require('./objDisplay'); + +/** + * ### .getMessage(object, message, negateMessage) + * + * Construct the error message based on flags + * and template tags. Template tags will return + * a stringified inspection of the object referenced. + * + * Message template tags: + * - `#{this}` current asserted object + * - `#{act}` actual value + * - `#{exp}` expected value + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + * @name getMessage + * @api public + */ + +module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , val = flag(obj, 'object') + , expected = args[3] + , actual = getActual(obj, args) + , msg = negate ? args[2] : args[1] + , flagMsg = flag(obj, 'message'); + + msg = msg || ''; + msg = msg + .replace(/#{this}/g, objDisplay(val)) + .replace(/#{act}/g, objDisplay(actual)) + .replace(/#{exp}/g, objDisplay(expected)); + + return flagMsg ? flagMsg + ': ' + msg : msg; +}; + +}); +require.register("chai/lib/chai/utils/getName.js", function(exports, require, module){ +/*! + * Chai - getName utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * # getName(func) + * + * Gets the name of a function, in a cross-browser way. + * + * @param {Function} a function (usually a constructor) + */ + +module.exports = function (func) { + if (func.name) return func.name; + + var match = /^\s?function ([^(]*)\(/.exec(func); + return match && match[1] ? match[1] : ""; +}; + +}); +require.register("chai/lib/chai/utils/getPathValue.js", function(exports, require, module){ +/*! + * Chai - getPathValue utility + * Copyright(c) 2012-2013 Jake Luer + * @see https://github.com/logicalparadox/filtr + * MIT Licensed + */ + +/** + * ### .getPathValue(path, object) + * + * This allows the retrieval of values in an + * object given a string path. + * + * var obj = { + * prop1: { + * arr: ['a', 'b', 'c'] + * , str: 'Hello' + * } + * , prop2: { + * arr: [ { nested: 'Universe' } ] + * , str: 'Hello again!' + * } + * } + * + * The following would be the results. + * + * getPathValue('prop1.str', obj); // Hello + * getPathValue('prop1.att[2]', obj); // b + * getPathValue('prop2.arr[0].nested', obj); // Universe + * + * @param {String} path + * @param {Object} object + * @returns {Object} value or `undefined` + * @name getPathValue + * @api public + */ + +var getPathValue = module.exports = function (path, obj) { + var parsed = parsePath(path); + return _getPathValue(parsed, obj); +}; + +/*! + * ## parsePath(path) + * + * Helper function used to parse string object + * paths. Use in conjunction with `_getPathValue`. + * + * var parsed = parsePath('myobject.property.subprop'); + * + * ### Paths: + * + * * Can be as near infinitely deep and nested + * * Arrays are also valid using the formal `myobject.document[3].property`. + * + * @param {String} path + * @returns {Object} parsed + * @api private + */ + +function parsePath (path) { + var str = path.replace(/\[/g, '.[') + , parts = str.match(/(\\\.|[^.]+?)+/g); + return parts.map(function (value) { + var re = /\[(\d+)\]$/ + , mArr = re.exec(value) + if (mArr) return { i: parseFloat(mArr[1]) }; + else return { p: value }; + }); +}; + +/*! + * ## _getPathValue(parsed, obj) + * + * Helper companion function for `.parsePath` that returns + * the value located at the parsed address. + * + * var value = getPathValue(parsed, obj); + * + * @param {Object} parsed definition from `parsePath`. + * @param {Object} object to search against + * @returns {Object|Undefined} value + * @api private + */ + +function _getPathValue (parsed, obj) { + var tmp = obj + , res; + for (var i = 0, l = parsed.length; i < l; i++) { + var part = parsed[i]; + if (tmp) { + if ('undefined' !== typeof part.p) + tmp = tmp[part.p]; + else if ('undefined' !== typeof part.i) + tmp = tmp[part.i]; + if (i == (l - 1)) res = tmp; + } else { + res = undefined; + } + } + return res; +}; + +}); +require.register("chai/lib/chai/utils/getProperties.js", function(exports, require, module){ +/*! + * Chai - getProperties utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### .getProperties(object) + * + * This allows the retrieval of property names of an object, enumerable or not, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @name getProperties + * @api public + */ + +module.exports = function getProperties(object) { + var result = Object.getOwnPropertyNames(subject); + + function addProperty(property) { + if (result.indexOf(property) === -1) { + result.push(property); + } + } + + var proto = Object.getPrototypeOf(subject); + while (proto !== null) { + Object.getOwnPropertyNames(proto).forEach(addProperty); + proto = Object.getPrototypeOf(proto); + } + + return result; +}; + +}); +require.register("chai/lib/chai/utils/index.js", function(exports, require, module){ +/*! + * chai + * Copyright(c) 2011 Jake Luer + * MIT Licensed + */ + +/*! + * Main exports + */ + +var exports = module.exports = {}; + +/*! + * test utility + */ + +exports.test = require('./test'); + +/*! + * type utility + */ + +exports.type = require('./type'); + +/*! + * message utility + */ + +exports.getMessage = require('./getMessage'); + +/*! + * actual utility + */ + +exports.getActual = require('./getActual'); + +/*! + * Inspect util + */ + +exports.inspect = require('./inspect'); + +/*! + * Object Display util + */ + +exports.objDisplay = require('./objDisplay'); + +/*! + * Flag utility + */ + +exports.flag = require('./flag'); + +/*! + * Flag transferring utility + */ + +exports.transferFlags = require('./transferFlags'); + +/*! + * Deep equal utility + */ + +exports.eql = require('deep-eql'); + +/*! + * Deep path value + */ + +exports.getPathValue = require('./getPathValue'); + +/*! + * Function name + */ + +exports.getName = require('./getName'); + +/*! + * add Property + */ + +exports.addProperty = require('./addProperty'); + +/*! + * add Method + */ + +exports.addMethod = require('./addMethod'); + +/*! + * overwrite Property + */ + +exports.overwriteProperty = require('./overwriteProperty'); + +/*! + * overwrite Method + */ + +exports.overwriteMethod = require('./overwriteMethod'); + +/*! + * Add a chainable method + */ + +exports.addChainableMethod = require('./addChainableMethod'); + + +}); +require.register("chai/lib/chai/utils/inspect.js", function(exports, require, module){ +// This is (almost) directly from Node.js utils +// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js + +var getName = require('./getName'); +var getProperties = require('./getProperties'); +var getEnumerableProperties = require('./getEnumerableProperties'); + +module.exports = inspect; + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Boolean} showHidden Flag that shows hidden (not enumerable) + * properties of objects. + * @param {Number} depth Depth in which to descend in object. Default is 2. + * @param {Boolean} colors Flag to turn on ANSI escape codes to color the + * output. Default is false (no coloring). + */ +function inspect(obj, showHidden, depth, colors) { + var ctx = { + showHidden: showHidden, + seen: [], + stylize: function (str) { return str; } + }; + return formatValue(ctx, obj, (typeof depth === 'undefined' ? 2 : depth)); +} + +// https://gist.github.com/1044128/ +var getOuterHTML = function(element) { + if ('outerHTML' in element) return element.outerHTML; + var ns = "http://www.w3.org/1999/xhtml"; + var container = document.createElementNS(ns, '_'); + var elemProto = (window.HTMLElement || window.Element).prototype; + var xmlSerializer = new XMLSerializer(); + var html; + if (document.xmlVersion) { + return xmlSerializer.serializeToString(element); + } else { + container.appendChild(element.cloneNode(false)); + html = container.innerHTML.replace('><', '>' + element.innerHTML + '<'); + container.innerHTML = ''; + return html; + } +}; + +// Returns true if object is a DOM element. +var isDOMElement = function (object) { + if (typeof HTMLElement === 'object') { + return object instanceof HTMLElement; + } else { + return object && + typeof object === 'object' && + object.nodeType === 1 && + typeof object.nodeName === 'string'; + } +}; + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (value && typeof value.inspect === 'function' && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes); + if (typeof ret !== 'string') { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // If it's DOM elem, get outer HTML. + if (isDOMElement(value)) { + return getOuterHTML(value); + } + + // Look up the keys of the object. + var visibleKeys = getEnumerableProperties(value); + var keys = ctx.showHidden ? getProperties(value) : visibleKeys; + + // Some type of object without properties can be shortcutted. + // In IE, errors have a single `stack` property, or if they are vanilla `Error`, + // a `stack` plus `description` property; ignore those for consistency. + if (keys.length === 0 || (isError(value) && ( + (keys.length === 1 && keys[0] === 'stack') || + (keys.length === 2 && keys[0] === 'description' && keys[1] === 'stack') + ))) { + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + return ctx.stylize('[Function' + nameSuffix + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toUTCString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + base = ' [Function' + nameSuffix + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + return formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + switch (typeof value) { + case 'undefined': + return ctx.stylize('undefined', 'undefined'); + + case 'string': + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + + case 'number': + return ctx.stylize('' + value, 'number'); + + case 'boolean': + return ctx.stylize('' + value, 'boolean'); + } + // For some reason typeof null is "object", so special case here. + if (value === null) { + return ctx.stylize('null', 'null'); + } +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (Object.prototype.hasOwnProperty.call(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str; + if (value.__lookupGetter__) { + if (value.__lookupGetter__(key)) { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Setter]', 'special'); + } + } + } + if (visibleKeys.indexOf(key) < 0) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(value[key]) < 0) { + if (recurseTimes === null) { + str = formatValue(ctx, value[key], null); + } else { + str = formatValue(ctx, value[key], recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (typeof name === 'undefined') { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + +function isArray(ar) { + return Array.isArray(ar) || + (typeof ar === 'object' && objectToString(ar) === '[object Array]'); +} + +function isRegExp(re) { + return typeof re === 'object' && objectToString(re) === '[object RegExp]'; +} + +function isDate(d) { + return typeof d === 'object' && objectToString(d) === '[object Date]'; +} + +function isError(e) { + return typeof e === 'object' && objectToString(e) === '[object Error]'; +} + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + +}); +require.register("chai/lib/chai/utils/objDisplay.js", function(exports, require, module){ +/*! + * Chai - flag utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var inspect = require('./inspect'); + +/** + * ### .objDisplay (object) + * + * Determines if an object or an array matches + * criteria to be inspected in-line for error + * messages or should be truncated. + * + * @param {Mixed} javascript object to inspect + * @name objDisplay + * @api public + */ + +module.exports = function (obj) { + var str = inspect(obj) + , type = Object.prototype.toString.call(obj); + + if (str.length >= 40) { + if (type === '[object Function]') { + return !obj.name || obj.name === '' + ? '[Function]' + : '[Function: ' + obj.name + ']'; + } else if (type === '[object Array]') { + return '[ Array(' + obj.length + ') ]'; + } else if (type === '[object Object]') { + var keys = Object.keys(obj) + , kstr = keys.length > 2 + ? keys.splice(0, 2).join(', ') + ', ...' + : keys.join(', '); + return '{ Object (' + kstr + ') }'; + } else { + return str; + } + } else { + return str; + } +}; + +}); +require.register("chai/lib/chai/utils/overwriteMethod.js", function(exports, require, module){ +/*! + * Chai - overwriteMethod utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### overwriteMethod (ctx, name, fn) + * + * Overwites an already existing method and provides + * access to previous function. Must return function + * to be used for name. + * + * utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) { + * return function (str) { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.value).to.equal(str); + * } else { + * _super.apply(this, arguments); + * } + * } + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.equal('bar'); + * + * @param {Object} ctx object whose method is to be overwritten + * @param {String} name of method to overwrite + * @param {Function} method function that returns a function to be used for name + * @name overwriteMethod + * @api public + */ + +module.exports = function (ctx, name, method) { + var _method = ctx[name] + , _super = function () { return this; }; + + if (_method && 'function' === typeof _method) + _super = _method; + + ctx[name] = function () { + var result = method(_super).apply(this, arguments); + return result === undefined ? this : result; + } +}; + +}); +require.register("chai/lib/chai/utils/overwriteProperty.js", function(exports, require, module){ +/*! + * Chai - overwriteProperty utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### overwriteProperty (ctx, name, fn) + * + * Overwites an already existing property getter and provides + * access to previous value. Must return function to use as getter. + * + * utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) { + * return function () { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.name).to.equal('bar'); + * } else { + * _super.call(this); + * } + * } + * }); + * + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.ok; + * + * @param {Object} ctx object whose property is to be overwritten + * @param {String} name of property to overwrite + * @param {Function} getter function that returns a getter function to be used for name + * @name overwriteProperty + * @api public + */ + +module.exports = function (ctx, name, getter) { + var _get = Object.getOwnPropertyDescriptor(ctx, name) + , _super = function () {}; + + if (_get && 'function' === typeof _get.get) + _super = _get.get + + Object.defineProperty(ctx, name, + { get: function () { + var result = getter(_super).call(this); + return result === undefined ? this : result; + } + , configurable: true + }); +}; + +}); +require.register("chai/lib/chai/utils/test.js", function(exports, require, module){ +/*! + * Chai - test utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var flag = require('./flag'); + +/** + * # test(object, expression) + * + * Test and object for expression. + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + */ + +module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , expr = args[0]; + return negate ? !expr : expr; +}; + +}); +require.register("chai/lib/chai/utils/transferFlags.js", function(exports, require, module){ +/*! + * Chai - transferFlags utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/** + * ### transferFlags(assertion, object, includeAll = true) + * + * Transfer all the flags for `assertion` to `object`. If + * `includeAll` is set to `false`, then the base Chai + * assertion flags (namely `object`, `ssfi`, and `message`) + * will not be transferred. + * + * + * var newAssertion = new Assertion(); + * utils.transferFlags(assertion, newAssertion); + * + * var anotherAsseriton = new Assertion(myObj); + * utils.transferFlags(assertion, anotherAssertion, false); + * + * @param {Assertion} assertion the assertion to transfer the flags from + * @param {Object} object the object to transfer the flags too; usually a new assertion + * @param {Boolean} includeAll + * @name getAllFlags + * @api private + */ + +module.exports = function (assertion, object, includeAll) { + var flags = assertion.__flags || (assertion.__flags = Object.create(null)); + + if (!object.__flags) { + object.__flags = Object.create(null); + } + + includeAll = arguments.length === 3 ? includeAll : true; + + for (var flag in flags) { + if (includeAll || + (flag !== 'object' && flag !== 'ssfi' && flag != 'message')) { + object.__flags[flag] = flags[flag]; + } + } +}; + +}); +require.register("chai/lib/chai/utils/type.js", function(exports, require, module){ +/*! + * Chai - type utility + * Copyright(c) 2012-2013 Jake Luer + * MIT Licensed + */ + +/*! + * Detectable javascript natives + */ + +var natives = { + '[object Arguments]': 'arguments' + , '[object Array]': 'array' + , '[object Date]': 'date' + , '[object Function]': 'function' + , '[object Number]': 'number' + , '[object RegExp]': 'regexp' + , '[object String]': 'string' +}; + +/** + * ### type(object) + * + * Better implementation of `typeof` detection that can + * be used cross-browser. Handles the inconsistencies of + * Array, `null`, and `undefined` detection. + * + * utils.type({}) // 'object' + * utils.type(null) // `null' + * utils.type(undefined) // `undefined` + * utils.type([]) // `array` + * + * @param {Mixed} object to detect type of + * @name type + * @api private + */ + +module.exports = function (obj) { + var str = Object.prototype.toString.call(obj); + if (natives[str]) return natives[str]; + if (obj === null) return 'null'; + if (obj === undefined) return 'undefined'; + if (obj === Object(obj)) return 'object'; + return typeof obj; +}; + +}); + + +require.alias("chaijs-assertion-error/index.js", "chai/deps/assertion-error/index.js"); +require.alias("chaijs-assertion-error/index.js", "chai/deps/assertion-error/index.js"); +require.alias("chaijs-assertion-error/index.js", "assertion-error/index.js"); +require.alias("chaijs-assertion-error/index.js", "chaijs-assertion-error/index.js"); +require.alias("chaijs-deep-eql/lib/eql.js", "chai/deps/deep-eql/lib/eql.js"); +require.alias("chaijs-deep-eql/lib/eql.js", "chai/deps/deep-eql/index.js"); +require.alias("chaijs-deep-eql/lib/eql.js", "deep-eql/index.js"); +require.alias("chaijs-type-detect/lib/type.js", "chaijs-deep-eql/deps/type-detect/lib/type.js"); +require.alias("chaijs-type-detect/lib/type.js", "chaijs-deep-eql/deps/type-detect/index.js"); +require.alias("chaijs-type-detect/lib/type.js", "chaijs-type-detect/index.js"); +require.alias("chaijs-deep-eql/lib/eql.js", "chaijs-deep-eql/index.js"); +require.alias("chai/index.js", "chai/index.js");if (typeof exports == "object") { + module.exports = require("chai"); +} else if (typeof define == "function" && define.amd) { + define(function(){ return require("chai"); }); +} else { + this["chai"] = require("chai"); +}})(); \ No newline at end of file diff --git a/resources/js/jquery-collapse/vendor/jquery-1.9.1.js b/resources/js/jquery-collapse/vendor/jquery-1.9.1.js new file mode 100644 index 0000000..e2c203f --- /dev/null +++ b/resources/js/jquery-collapse/vendor/jquery-1.9.1.js @@ -0,0 +1,9597 @@ +/*! + * jQuery JavaScript Library v1.9.1 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2013-2-4 + */ +(function( window, undefined ) { + +// Can't do this because several apps including ASP.NET trace +// the stack via arguments.caller.callee and Firefox dies if +// you try to trace through "use strict" call chains. (#13335) +// Support: Firefox 18+ +//"use strict"; +var + // The deferred used on DOM ready + readyList, + + // A central reference to the root jQuery(document) + rootjQuery, + + // Support: IE<9 + // For `typeof node.method` instead of `node.method !== undefined` + core_strundefined = typeof undefined, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // [[Class]] -> type pairs + class2type = {}, + + // List of deleted data cache ids, so we can reuse them + core_deletedIds = [], + + core_version = "1.9.1", + + // Save a reference to some core methods + core_concat = core_deletedIds.concat, + core_push = core_deletedIds.push, + core_slice = core_deletedIds.slice, + core_indexOf = core_deletedIds.indexOf, + core_toString = class2type.toString, + core_hasOwn = class2type.hasOwnProperty, + core_trim = core_version.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + + // Used for splitting on whitespace + core_rnotwhite = /\S+/g, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + // Strict HTML recognition (#11290: must start with <) + rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return letter.toUpperCase(); + }, + + // The ready event handler + completed = function( event ) { + + // readyState === "complete" is good enough for us to call the dom ready in oldIE + if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) { + detach(); + jQuery.ready(); + } + }, + // Clean-up method for dom ready events + detach = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", completed, false ); + window.removeEventListener( "load", completed, false ); + + } else { + document.detachEvent( "onreadystatechange", completed ); + window.detachEvent( "onload", completed ); + } + }; + +jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used + jquery: core_version, + + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem; + + // HANDLE: $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + + // scripts is true for back-compat + jQuery.merge( this, jQuery.parseHTML( + match[1], + context && context.nodeType ? context.ownerDocument || context : document, + true + ) ); + + // HANDLE: $(html, props) + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + for ( match in context ) { + // Properties of context are called as methods if possible + if ( jQuery.isFunction( this[ match ] ) ) { + this[ match ]( context[ match ] ); + + // ...and otherwise set as attributes + } else { + this.attr( match, context[ match ] ); + } + } + } + + return this; + + // HANDLE: $(#id) + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return ( context || rootjQuery ).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(DOMElement) + } else if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if ( selector.selector !== undefined ) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return core_slice.call( this ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems ) { + + // Build a new jQuery matched element set + var ret = jQuery.merge( this.constructor(), elems ); + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + ret.context = this.context; + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + slice: function() { + return this.pushStack( core_slice.apply( this, arguments ) ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + eq: function( i ) { + var len = this.length, + j = +i + ( i < 0 ? len : 0 ); + return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: core_push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger("ready").off("ready"); + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + if ( obj == null ) { + return String( obj ); + } + return typeof obj === "object" || typeof obj === "function" ? + class2type[ core_toString.call(obj) ] || "object" : + typeof obj; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // keepScripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, keepScripts ) { + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + keepScripts = context; + context = false; + } + context = context || document; + + var parsed = rsingleTag.exec( data ), + scripts = !keepScripts && []; + + // Single tag + if ( parsed ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ); + if ( scripts ) { + jQuery( scripts ).remove(); + } + return jQuery.merge( [], parsed.childNodes ); + }, + + parseJSON: function( data ) { + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( data ); + } + + if ( data === null ) { + return data; + } + + if ( typeof data === "string" ) { + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + if ( data ) { + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test( data.replace( rvalidescape, "@" ) + .replace( rvalidtokens, "]" ) + .replace( rvalidbraces, "")) ) { + + return ( new Function( "return " + data ) )(); + } + } + } + + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && jQuery.trim( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike( obj ); + + if ( args ) { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.apply( obj[ i ], args ); + + if ( value === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } else { + for ( i in obj ) { + value = callback.call( obj[ i ], i, obj[ i ] ); + + if ( value === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var ret = results || []; + + if ( arr != null ) { + if ( isArraylike( Object(arr) ) ) { + jQuery.merge( ret, + typeof arr === "string" ? + [ arr ] : arr + ); + } else { + core_push.call( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var value, + i = 0, + length = elems.length, + isArray = isArraylike( elems ), + ret = []; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( i in elems ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + } + + // Flatten any nested arrays + return core_concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var args, proxy, tmp; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context || this, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, raw ) { + var i = 0, + length = elems.length, + bulk = key == null; + + // Sets many values + if ( jQuery.type( key ) === "object" ) { + chainable = true; + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + } + + // Sets one value + } else if ( value !== undefined ) { + chainable = true; + + if ( !jQuery.isFunction( value ) ) { + raw = true; + } + + if ( bulk ) { + // Bulk operations run against the entire set + if ( raw ) { + fn.call( elems, value ); + fn = null; + + // ...except when executing function values + } else { + bulk = fn; + fn = function( elem, key, value ) { + return bulk.call( jQuery( elem ), value ); + }; + } + } + + if ( fn ) { + for ( ; i < length; i++ ) { + fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + } + } + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready ); + + // Standards-based browsers support DOMContentLoaded + } else if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", completed, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", completed, false ); + + // If IE event model is used + } else { + // Ensure firing before onload, maybe late but safe also for iframes + document.attachEvent( "onreadystatechange", completed ); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", completed ); + + // If IE and not a frame + // continually check to see if the document is ready + var top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // detach all dom ready events + detach(); + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +function isArraylike( obj ) { + var length = obj.length, + type = jQuery.type( obj ); + + if ( jQuery.isWindow( obj ) ) { + return false; + } + + if ( obj.nodeType === 1 && length ) { + return true; + } + + return type === "array" || type !== "function" && + ( length === 0 || + typeof length === "number" && length > 0 && ( length - 1 ) in obj ); +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.match( core_rnotwhite ) || [], function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Flag to know if list is currently firing + firing, + // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // First callback to fire (used internally by add and fireWith) + firingStart, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" ) { + if ( !options.unique || !self.has( arg ) ) { + list.push( arg ); + } + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Check if a given callback is in the list. + // If no argument is given, return whether or not list has callbacks attached. + has: function( fn ) { + return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length ); + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = jQuery.isFunction( fns[ i ] ) && fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ](function() { + var returned = fn && fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + } + }); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] + deferred[ tuple[0] ] = function() { + deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + return this; + }; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, all, a, + input, select, fragment, + opt, eventName, isSupported, i, + div = document.createElement("div"); + + // Setup + div.setAttribute( "className", "t" ); + div.innerHTML = "
    a"; + + // Support tests won't run in some limited or non-browser environments + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + if ( !all || !a || !all.length ) { + return {}; + } + + // First batch of tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + a.style.cssText = "top:1px;float:left;opacity:.5"; + support = { + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText instead) + style: /top/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.5/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Check the default checkbox/radio value ("" on WebKit; "on" elsewhere) + checkOn: !!input.value, + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Tests for enctype support on a form (#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: document.compatMode === "CSS1Compat", + + // Will be defined later + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Support: IE<9 + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + // Check if we can trust getAttribute("value") + input = document.createElement("input"); + input.setAttribute( "value", "" ); + support.input = input.getAttribute( "value" ) === ""; + + // Check if an input maintains its value after becoming a radio + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "checked", "t" ); + input.setAttribute( "name", "t" ); + + fragment = document.createDocumentFragment(); + fragment.appendChild( input ); + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<9 + // Opera does not clone events (and typeof div.attachEvent === undefined). + // IE9-10 clones events bound via attachEvent, but they don't trigger with .click() + if ( div.attachEvent ) { + div.attachEvent( "onclick", function() { + support.noCloneEvent = false; + }); + + div.cloneNode( true ).click(); + } + + // Support: IE<9 (lack submit/change bubble), Firefox 17+ (lack focusin event) + // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP), test/csp.php + for ( i in { submit: true, change: true, focusin: true }) { + div.setAttribute( eventName = "on" + i, "t" ); + + support[ i + "Bubbles" ] = eventName in window || div.attributes[ eventName ].expando === false; + } + + div.style.backgroundClip = "content-box"; + div.cloneNode( true ).style.backgroundClip = ""; + support.clearCloneStyle = div.style.backgroundClip === "content-box"; + + // Run tests that need a body at doc ready + jQuery(function() { + var container, marginDiv, tds, + divReset = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px"; + + body.appendChild( container ).appendChild( div ); + + // Support: IE8 + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + div.innerHTML = "
    t
    "; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( tds[ 0 ].offsetHeight === 0 ); + + tds[ 0 ].style.display = ""; + tds[ 1 ].style.display = "none"; + + // Support: IE8 + // Check if empty table cells still have offsetWidth/Height + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // Use window.getComputedStyle because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // Check if div with explicit width and no margin-right incorrectly + // gets computed margin-right based on width of container. (#3333) + // Fails in WebKit before Feb 2011 nightlies + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + marginDiv = div.appendChild( document.createElement("div") ); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== core_strundefined ) { + // Support: IE<8 + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + div.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Support: IE6 + // Check if elements with layout shrink-wrap their children + div.style.display = "block"; + div.innerHTML = "
    "; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + if ( support.inlineBlockNeedsLayout ) { + // Prevent IE 6 from affecting layout for positioned elements #11048 + // Prevent IE from shrinking the body in IE 7 mode #12869 + // Support: IE<8 + body.style.zoom = 1; + } + } + + body.removeChild( container ); + + // Null elements to avoid leaks in IE + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + all = select = fragment = opt = a = input = null; + + return support; +})(); + +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +function internalData( elem, name, data, pvt /* Internal Use Only */ ){ + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ internalKey ] = id = core_deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // Avoids exposing jQuery metadata on plain JS objects when the object + // is serialized using JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; +} + +function internalRemoveData( elem, name, pvt ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var i, l, thisCache, + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } else { + // If "name" is an array of keys... + // When data is initially created, via ("key", "val") signature, + // keys will be converted to camelCase. + // Since there is no way to tell _how_ a key was added, remove + // both plain key and camelCase key. #12786 + // This will only penalize the array argument path. + name = name.concat( jQuery.map( name, jQuery.camelCase ) ); + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = null; + } +} + +jQuery.extend({ + cache: {}, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data ) { + return internalData( elem, name, data ); + }, + + removeData: function( elem, name ) { + return internalRemoveData( elem, name ); + }, + + // For internal use only. + _data: function( elem, name, data ) { + return internalData( elem, name, data, true ); + }, + + _removeData: function( elem, name ) { + return internalRemoveData( elem, name, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + // Do not set data on non-element because it will not be cleared (#8335). + if ( elem.nodeType && elem.nodeType !== 1 && elem.nodeType !== 9 ) { + return false; + } + + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var attrs, name, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attrs = elem.attributes; + for ( ; i < attrs.length; i++ ) { + name = attrs[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.slice(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + // Try to fetch any internally stored data first + return elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : null; + } + + this.each(function() { + jQuery.data( this, key, value ); + }); + }, null, value, arguments.length > 1, null, true ); + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +data : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + hooks.cur = fn; + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery._removeData( elem, type + "queue" ); + jQuery._removeData( elem, key ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time; + type = type || "fx"; + + return this.queue( type, function( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rfocusable = /^(?:input|select|textarea|button|object)$/i, + rclickable = /^(?:a|area)$/i, + rboolean = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, + ruseDefault = /^(?:checked|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute, + getSetInput = jQuery.support.input; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call( this, j, this.className ) ); + }); + } + + if ( proceed ) { + // The disjunction here is for better compressibility (see removeClass) + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + " " + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + if ( cur.indexOf( " " + clazz + " " ) < 0 ) { + cur += clazz + " "; + } + } + elem.className = jQuery.trim( cur ); + + } + } + } + + return this; + }, + + removeClass: function( value ) { + var classes, elem, cur, clazz, j, + i = 0, + len = this.length, + proceed = arguments.length === 0 || typeof value === "string" && value; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call( this, j, this.className ) ); + }); + } + if ( proceed ) { + classes = ( value || "" ).match( core_rnotwhite ) || []; + + for ( ; i < len; i++ ) { + elem = this[ i ]; + // This expression is here for better compressibility (see addClass) + cur = elem.nodeType === 1 && ( elem.className ? + ( " " + elem.className + " " ).replace( rclass, " " ) : + "" + ); + + if ( cur ) { + j = 0; + while ( (clazz = classes[j++]) ) { + // Remove *all* instances + while ( cur.indexOf( " " + clazz + " " ) >= 0 ) { + cur = cur.replace( " " + clazz + " ", " " ); + } + } + elem.className = value ? jQuery.trim( cur ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.match( core_rnotwhite ) || []; + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + // Toggle whole class name + } else if ( type === core_strundefined || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // If the element has a class name or if we're passed "false", + // then remove the whole classname (if there was one, the above saved it). + // Otherwise bring back whatever was previously saved (if anything), + // falling back to the empty string if nothing was stored. + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var ret, hooks, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray( val ) ) { + val = jQuery.map(val, function ( value ) { + return value == null ? "" : value + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + }, + select: { + get: function( elem ) { + var value, option, + options = elem.options, + index = elem.selectedIndex, + one = elem.type === "select-one" || index < 0, + values = one ? null : [], + max = one ? index + 1 : options.length, + i = index < 0 ? + max : + one ? index : 0; + + // Loop through all the selected options + for ( ; i < max; i++ ) { + option = options[ i ]; + + // oldIE doesn't update selected after form reset (#2551) + if ( ( option.selected || i === index ) && + // Don't return options that are disabled or in a disabled optgroup + ( jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) && + ( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) { + + // Get the specific value for the option + value = jQuery( option ).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + return values; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + attr: function( elem, name, value ) { + var hooks, notxml, ret, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === core_strundefined ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + + } else if ( hooks && notxml && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && notxml && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + // In IE9+, Flash objects don't have .getAttribute (#12945) + // Support: IE9+ + if ( typeof elem.getAttribute !== core_strundefined ) { + ret = elem.getAttribute( name ); + } + + // Non-existent attributes return null, we normalize to undefined + return ret == null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var name, propName, + i = 0, + attrNames = value && value.match( core_rnotwhite ); + + if ( attrNames && elem.nodeType === 1 ) { + while ( (name = attrNames[i++]) ) { + propName = jQuery.propFix[ name ] || name; + + // Boolean attributes get special treatment (#10870) + if ( rboolean.test( name ) ) { + // Set corresponding property to false for boolean attributes + // Also clear defaultChecked/defaultSelected (if appropriate) for IE<8 + if ( !getSetAttribute && ruseDefault.test( name ) ) { + elem[ jQuery.camelCase( "default-" + name ) ] = + elem[ propName ] = false; + } else { + elem[ propName ] = false; + } + + // See #9699 for explanation of this approach (setting first, then removal) + } else { + jQuery.attr( elem, name, "" ); + } + + elem.removeAttribute( getSetAttribute ? name : propName ); + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to default in case type is set after value during creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + var + // Use .prop to determine if this attribute is understood as boolean + prop = jQuery.prop( elem, name ), + + // Fetch it accordingly + attr = typeof prop === "boolean" && elem.getAttribute( name ), + detail = typeof prop === "boolean" ? + + getSetInput && getSetAttribute ? + attr != null : + // oldIE fabricates an empty string for missing boolean attributes + // and conflates checked/selected into attroperties + ruseDefault.test( name ) ? + elem[ jQuery.camelCase( "default-" + name ) ] : + !!attr : + + // fetch an attribute node for properties not recognized as boolean + elem.getAttributeNode( name ); + + return detail && detail.value !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) { + // IE<8 needs the *property* name + elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name ); + + // Use defaultChecked and defaultSelected for oldIE + } else { + elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true; + } + + return name; + } +}; + +// fix oldIE value attroperty +if ( !getSetInput || !getSetAttribute ) { + jQuery.attrHooks.value = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return jQuery.nodeName( elem, "input" ) ? + + // Ignore the value *property* by using defaultValue + elem.defaultValue : + + ret && ret.specified ? ret.value : undefined; + }, + set: function( elem, value, name ) { + if ( jQuery.nodeName( elem, "input" ) ) { + // Does not return so that setAttribute is also used + elem.defaultValue = value; + } else { + // Use nodeHook if defined (#1954); otherwise setAttribute is fine + return nodeHook && nodeHook.set( elem, value, name ); + } + } + }; +} + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret = elem.getAttributeNode( name ); + return ret && ( name === "id" || name === "name" || name === "coords" ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + elem.setAttributeNode( + (ret = elem.ownerDocument.createAttribute( name )) + ); + } + + ret.value = value += ""; + + // Break association with cloned elements by also using setAttribute (#9646) + return name === "value" || value === elem.getAttribute( name ) ? + value : + undefined; + } + }; + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + nodeHook.set( elem, value === "" ? false : value, name ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); +} + + +// Some attributes require a special call on IE +// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret == null ? undefined : ret; + } + }); + }); + + // href/src property should get the full normalized URL (#10299/#12915) + jQuery.each([ "href", "src" ], function( i, name ) { + jQuery.propHooks[ name ] = { + get: function( elem ) { + return elem.getAttribute( name, 4 ); + } + }; + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Note: IE uppercases css property names, but if we were to .toLowerCase() + // .cssText, that would destroy case senstitivity in URL's, like in "background" + return elem.style.cssText || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:input|select|textarea)$/i, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + +function returnTrue() { + return true; +} + +function returnFalse() { + return false; +} + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + global: {}, + + add: function( elem, types, handler, data, selector ) { + var tmp, events, t, handleObjIn, + special, eventHandle, handleObj, + handlers, type, namespaces, origType, + elemData = jQuery._data( elem ); + + // Don't attach events to noData or text/comment nodes (but allow plain objects) + if ( !elemData ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + if ( !(events = elemData.events) ) { + events = elemData.events = {}; + } + if ( !(eventHandle = elemData.handle) ) { + eventHandle = elemData.handle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== core_strundefined && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: origType, + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + if ( !(handlers = events[ type ]) ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // Only use addEventListener/attachEvent if the special events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, selector, mappedTypes ) { + var j, handleObj, tmp, + origCount, t, events, + special, handlers, type, + namespaces, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = ( types || "" ).match( core_rnotwhite ) || [""]; + t = types.length; + while ( t-- ) { + tmp = rtypenamespace.exec( types[t] ) || []; + type = origType = tmp[1]; + namespaces = ( tmp[2] || "" ).split( "." ).sort(); + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector ? special.delegateType : special.bindType ) || type; + handlers = events[ type ] || []; + tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + + // Remove matching events + origCount = j = handlers.length; + while ( j-- ) { + handleObj = handlers[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !tmp || tmp.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + handlers.splice( j, 1 ); + + if ( handleObj.selector ) { + handlers.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( origCount && !handlers.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery._removeData( elem, "events" ); + } + }, + + trigger: function( event, data, elem, onlyHandlers ) { + var handle, ontype, cur, + bubbleType, special, tmp, i, + eventPath = [ elem || document ], + type = core_hasOwn.call( event, "type" ) ? event.type : event, + namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + + cur = tmp = elem = elem || document; + + // Don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf(".") >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + ontype = type.indexOf(":") < 0 && "on" + type; + + // Caller can pass in a jQuery.Event object, Object, or just an event type string + event = event[ jQuery.expando ] ? + event : + new jQuery.Event( type, typeof event === "object" && event ); + + event.isTrigger = true; + event.namespace = namespaces.join("."); + event.namespace_re = event.namespace ? + new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) : + null; + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data == null ? + [ event ] : + jQuery.makeArray( data, [ event ] ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + if ( !rfocusMorph.test( bubbleType + type ) ) { + cur = cur.parentNode; + } + for ( ; cur; cur = cur.parentNode ) { + eventPath.push( cur ); + tmp = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( tmp === (elem.ownerDocument || document) ) { + eventPath.push( tmp.defaultView || tmp.parentWindow || window ); + } + } + + // Fire handlers on the event path + i = 0; + while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) { + + event.type = i > 1 ? + bubbleType : + special.bindType || type; + + // jQuery handler + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + + // Native handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + tmp = elem[ ontype ]; + + if ( tmp ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + try { + elem[ type ](); + } catch ( e ) { + // IE<9 dies on focus/blur to hidden element (#1486,#12518) + // only reproducible on winXP IE8 native, not IE9 in IE8 mode + } + jQuery.event.triggered = undefined; + + if ( tmp ) { + elem[ ontype ] = tmp; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); + + var i, ret, handleObj, matched, j, + handlerQueue = [], + args = core_slice.call( arguments ), + handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); + + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; + + j = 0; + while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) { + + // Triggered event must either 1) have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) { + + event.handleObj = handleObj; + event.data = handleObj.data; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + if ( (event.result = ret) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + handlers: function( event, handlers ) { + var sel, handleObj, matches, i, + handlerQueue = [], + delegateCount = handlers.delegateCount, + cur = event.target; + + // Find delegate handlers + // Black-hole SVG instance trees (#13180) + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) { + + for ( ; cur != this; cur = cur.parentNode || this ) { + + // Don't check non-elements (#13208) + // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) { + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + + // Don't conflict with Object.prototype properties (#13203) + sel = handleObj.selector + " "; + + if ( matches[ sel ] === undefined ) { + matches[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( matches[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, handlers: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( delegateCount < handlers.length ) { + handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + } + + return handlerQueue; + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, copy, + type = event.type, + originalEvent = event, + fixHook = this.fixHooks[ type ]; + + if ( !fixHook ) { + this.fixHooks[ type ] = fixHook = + rmouseEvent.test( type ) ? this.mouseHooks : + rkeyEvent.test( type ) ? this.keyHooks : + {}; + } + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = new jQuery.Event( originalEvent ); + + i = copy.length; + while ( i-- ) { + prop = copy[ i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Support: IE<9 + // Fix target property (#1925) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Support: Chrome 23+, Safari? + // Target should not be a text node (#504, #13143) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Support: IE<9 + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328) + event.metaKey = !!event.metaKey; + + return fixHook.filter ? fixHook.filter( event, originalEvent ) : event; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var body, eventDoc, doc, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + click: { + // For checkbox, fire native event so checked state will be right + trigger: function() { + if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) { + this.click(); + return false; + } + } + }, + focus: { + // Fire native event if possible so blur/focus sequence is correct + trigger: function() { + if ( this !== document.activeElement && this.focus ) { + try { + this.focus(); + return false; + } catch ( e ) { + // Support: IE<9 + // If we error on focus to hidden element (#1486, #12518), + // let .trigger() run the handlers + } + } + }, + delegateType: "focusin" + }, + blur: { + trigger: function() { + if ( this === document.activeElement && this.blur ) { + this.blur(); + return false; + } + }, + delegateType: "focusout" + }, + + beforeunload: { + postDispatch: function( event ) { + + // Even when returnValue equals to undefined Firefox will still show alert + if ( event.result !== undefined ) { + event.originalEvent.returnValue = event.result; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === core_strundefined ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse, + + preventDefault: function() { + var e = this.originalEvent; + + this.isDefaultPrevented = returnTrue; + if ( !e ) { + return; + } + + // If preventDefault exists, run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // Support: IE + // Otherwise set the returnValue property of the original event to false + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + var e = this.originalEvent; + + this.isPropagationStopped = returnTrue; + if ( !e ) { + return; + } + // If stopPropagation exists, run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + + // Support: IE + // Set the cancelBubble property of the original event to true + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + } +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "submitBubbles" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "submitBubbles", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "changeBubbles", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var type, origFn; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + var elem = this[0]; + if ( elem ) { + return jQuery.event.trigger( type, data, elem, true ); + } + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var i, + cachedruns, + Expr, + getText, + isXML, + compile, + hasDuplicate, + outermostContext, + + // Local document vars + setDocument, + document, + docElem, + documentIsXML, + rbuggyQSA, + rbuggyMatches, + matches, + contains, + sortOrder, + + // Instance-specific data + expando = "sizzle" + -(new Date()), + preferredDoc = window.document, + support = {}, + dirruns = 0, + done = 0, + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // General-purpose constants + strundefined = typeof undefined, + MAX_NEGATIVE = 1 << 31, + + // Array methods + arr = [], + pop = arr.pop, + push = arr.push, + slice = arr.slice, + // Use a stripped-down indexOf if we can't use a native one + indexOf = arr.indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + + // Regular expressions + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments quoted, + // then not containing pseudos/brackets, + // then attribute selectors/non-parenthetical expressions, + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + ridentifier = new RegExp( "^" + identifier + "$" ), + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + // We use this for POS matching in `select` + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" ) + }, + + rsibling = /[\x20\t\r\n\f]*[+~]/, + + rnative = /^[^{]+\{\s*\[native code/, + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + + rinputs = /^(?:input|select|textarea|button)$/i, + rheader = /^h\d$/i, + + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters + runescape = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, + funescape = function( _, escaped ) { + var high = "0x" + escaped - 0x10000; + // NaN means non-codepoint + return high !== high ? + escaped : + // BMP codepoint + high < 0 ? + String.fromCharCode( high + 0x10000 ) : + // Supplemental Plane codepoint (surrogate pair) + String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 ); + }; + +// Use a stripped-down slice if we can't use a native one +try { + slice.call( preferredDoc.documentElement.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + while ( (elem = this[i++]) ) { + results.push( elem ); + } + return results; + }; +} + +/** + * For feature detection + * @param {Function} fn The function to test for native support + */ +function isNative( fn ) { + return rnative.test( fn + "" ); +} + +/** + * Create key-value caches of limited size + * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength) + * deleting the oldest entry + */ +function createCache() { + var cache, + keys = []; + + return (cache = function( key, value ) { + // Use (key + " ") to avoid collision with native prototype properties (see Issue #157) + if ( keys.push( key += " " ) > Expr.cacheLength ) { + // Only keep the most recent entries + delete cache[ keys.shift() ]; + } + return (cache[ key ] = value); + }); +} + +/** + * Mark a function for special use by Sizzle + * @param {Function} fn The function to mark + */ +function markFunction( fn ) { + fn[ expando ] = true; + return fn; +} + +/** + * Support testing using an element + * @param {Function} fn Passed the created div and expects a boolean result + */ +function assert( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } +} + +function Sizzle( selector, context, results, seed ) { + var match, elem, m, nodeType, + // QSA vars + i, groups, old, nid, newContext, newSelector; + + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + + context = context || document; + results = results || []; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) { + return []; + } + + if ( !documentIsXML && !seed ) { + + // Shortcuts + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && support.getByClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + + // QSA path + if ( support.qsa && !rbuggyQSA.test(selector) ) { + old = true; + nid = expando; + newContext = context; + newSelector = nodeType === 9 && selector; + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + toSelector( groups[i] ); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed ); +} + +/** + * Detect xml + * @param {Element|Object} elem An element or a document + */ +isXML = Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +/** + * Sets document-related variables once based on the current document + * @param {Element|Object} [doc] An element or document object to use to set the document + * @returns {Object} Returns the current document + */ +setDocument = Sizzle.setDocument = function( node ) { + var doc = node ? node.ownerDocument || node : preferredDoc; + + // If no document and documentElement is available, return + if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { + return document; + } + + // Set our document + document = doc; + docElem = doc.documentElement; + + // Support tests + documentIsXML = isXML( doc ); + + // Check if getElementsByTagName("*") returns only elements + support.tagNameNoComments = assert(function( div ) { + div.appendChild( doc.createComment("") ); + return !div.getElementsByTagName("*").length; + }); + + // Check if attributes should be retrieved by attribute nodes + support.attributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }); + + // Check if getElementsByClassName can be trusted + support.getByClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }); + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + support.getByName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
    "; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = doc.getElementsByName && + // buggy browsers will return fewer than the correct 2 + doc.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + doc.getElementsByName( expando + 0 ).length; + support.getIdNotName = !doc.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + + // IE6/7 return modified attributes + Expr.attrHandle = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }) ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }; + + // ID find and filter + if ( support.getIdNotName ) { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + return elem.getAttribute("id") === attrId; + }; + }; + } else { + Expr.find["ID"] = function( id, context ) { + if ( typeof context.getElementById !== strundefined && !documentIsXML ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }; + Expr.filter["ID"] = function( id ) { + var attrId = id.replace( runescape, funescape ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === attrId; + }; + }; + } + + // Tag + Expr.find["TAG"] = support.tagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var elem, + tmp = [], + i = 0, + results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + while ( (elem = results[i++]) ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }; + + // Name + Expr.find["NAME"] = support.getByName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }; + + // Class + Expr.find["CLASS"] = support.getByClassName && function( className, context ) { + if ( typeof context.getElementsByClassName !== strundefined && !documentIsXML ) { + return context.getElementsByClassName( className ); + } + }; + + // QSA and matchesSelector support + + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + rbuggyMatches = []; + + // qSa(:focus) reports false when true (Chrome 21), + // no need to also add to buggyMatches since matches checks buggyQSA + // A support test would require too much code (would include document ready) + rbuggyQSA = [ ":focus" ]; + + if ( (support.qsa = isNative(doc.querySelectorAll)) ) { + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE8 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = ""; + if ( div.querySelectorAll("[i^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here and will not see later tests + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push( ":enabled", ":disabled" ); + } + + // Opera 10-11 does not throw on post-comma invalid pseudos + div.querySelectorAll("*,:x"); + rbuggyQSA.push(",.*:"); + }); + } + + if ( (support.matchesSelector = isNative( (matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector) )) ) { + + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + support.disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( div, "[s!='']:x" ); + rbuggyMatches.push( "!=", pseudos ); + }); + } + + rbuggyQSA = new RegExp( rbuggyQSA.join("|") ); + rbuggyMatches = new RegExp( rbuggyMatches.join("|") ); + + // Element contains another + // Purposefully does not implement inclusive descendent + // As in, an element does not contain itself + contains = isNative(docElem.contains) || docElem.compareDocumentPosition ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && ( + adown.contains ? + adown.contains( bup ) : + a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16 + )); + } : + function( a, b ) { + if ( b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + } + return false; + }; + + // Document order sorting + sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + var compare; + + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( (compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b )) ) { + if ( compare & 1 || a.parentNode && a.parentNode.nodeType === 11 ) { + if ( a === doc || contains( preferredDoc, a ) ) { + return -1; + } + if ( b === doc || contains( preferredDoc, b ) ) { + return 1; + } + return 0; + } + return compare & 4 ? -1 : 1; + } + + return a.compareDocumentPosition ? -1 : 1; + } : + function( a, b ) { + var cur, + i = 0, + aup = a.parentNode, + bup = b.parentNode, + ap = [ a ], + bp = [ b ]; + + // Exit early if the nodes are identical + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Parentless nodes are either documents or disconnected + } else if ( !aup || !bup ) { + return a === doc ? -1 : + b === doc ? 1 : + aup ? -1 : + bup ? 1 : + 0; + + // If the nodes are siblings, we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + } + + // Otherwise we need full lists of their ancestors for comparison + cur = a; + while ( (cur = cur.parentNode) ) { + ap.unshift( cur ); + } + cur = b; + while ( (cur = cur.parentNode) ) { + bp.unshift( cur ); + } + + // Walk down the tree looking for a discrepancy + while ( ap[i] === bp[i] ) { + i++; + } + + return i ? + // Do a sibling check if the nodes have a common ancestor + siblingCheck( ap[i], bp[i] ) : + + // Otherwise nodes in our document sort first + ap[i] === preferredDoc ? -1 : + bp[i] === preferredDoc ? 1 : + 0; + }; + + // Always assume the presence of duplicates if sort doesn't + // pass them to our comparison function (as in Google Chrome). + hasDuplicate = false; + [0, 0].sort( sortOrder ); + support.detectDuplicates = hasDuplicate; + + return document; +}; + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyQSA always contains :focus, so no need for an existence check + if ( support.matchesSelector && !documentIsXML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && !rbuggyQSA.test(expr) ) { + try { + var ret = matches.call( elem, expr ); + + // IE 9's matchesSelector returns false on disconnected nodes + if ( ret || support.disconnectedMatch || + // As well, disconnected nodes are said to be in a document + // fragment in IE 9 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, document, null, [elem] ).length > 0; +}; + +Sizzle.contains = function( context, elem ) { + // Set document vars if needed + if ( ( context.ownerDocument || context ) !== document ) { + setDocument( context ); + } + return contains( context, elem ); +}; + +Sizzle.attr = function( elem, name ) { + var val; + + // Set document vars if needed + if ( ( elem.ownerDocument || elem ) !== document ) { + setDocument( elem ); + } + + if ( !documentIsXML ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( documentIsXML || support.attributes ) { + return elem.getAttribute( name ); + } + return ( (val = elem.getAttributeNode( name )) || elem.getAttribute( name ) ) && elem[ name ] === true ? + name : + val && val.specified ? val.value : null; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + duplicates = [], + i = 1, + j = 0; + + // Unless we *know* we can detect duplicates, assume their presence + hasDuplicate = !support.detectDuplicates; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + j = duplicates.push( i ); + } + } + while ( j-- ) { + results.splice( duplicates[ j ], 1 ); + } + } + + return results; +}; + +function siblingCheck( a, b ) { + var cur = b && a, + diff = cur && ( ~b.sourceIndex || MAX_NEGATIVE ) - ( ~a.sourceIndex || MAX_NEGATIVE ); + + // Use IE sourceIndex if available on both nodes + if ( diff ) { + return diff; + } + + // Check if b follows a + if ( cur ) { + while ( (cur = cur.nextSibling) ) { + if ( cur === b ) { + return -1; + } + } + } + + return a ? 1 : -1; +} + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( !nodeType ) { + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + + return ret; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + find: {}, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( runescape, funescape ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 what (child|of-type) + 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 4 xn-component of xn+y argument ([+-]?\d*n|) + 5 sign of xn-component + 6 x of xn-component + 7 sign of y-component + 8 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1].slice( 0, 3 ) === "nth" ) { + // nth-* requires argument + if ( !match[3] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) ); + match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" ); + + // other types prohibit arguments + } else if ( match[3] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var excess, + unquoted = !match[5] && match[2]; + + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + // Accept quoted arguments as-is + if ( match[4] ) { + match[2] = match[4]; + + // Strip excess characters from unquoted arguments + } else if ( unquoted && rpseudo.test( unquoted ) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + match[0] = match[0].slice( 0, excess ); + match[2] = unquoted.slice( 0, excess ); + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + + nodeName = nodeName.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ className + " " ]; + + return pattern || + (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) && + classCache( className, function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }); + }, + + "ATTR": function( name, operator, check ) { + return function( elem ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.slice( -check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, what, argument, first, last ) { + var simple = type.slice( 0, 3 ) !== "nth", + forward = type.slice( -4 ) !== "last", + ofType = what === "of-type"; + + return first === 1 && last === 0 ? + + // Shortcut for :nth-*(n) + function( elem ) { + return !!elem.parentNode; + } : + + function( elem, context, xml ) { + var cache, outerCache, node, diff, nodeIndex, start, + dir = simple !== forward ? "nextSibling" : "previousSibling", + parent = elem.parentNode, + name = ofType && elem.nodeName.toLowerCase(), + useCache = !xml && !ofType; + + if ( parent ) { + + // :(first|last|only)-(child|of-type) + if ( simple ) { + while ( dir ) { + node = elem; + while ( (node = node[ dir ]) ) { + if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + return false; + } + } + // Reverse direction for :only-* (if we haven't yet done so) + start = dir = type === "only" && !start && "nextSibling"; + } + return true; + } + + start = [ forward ? parent.firstChild : parent.lastChild ]; + + // non-xml :nth-child(...) stores cache data on `parent` + if ( forward && useCache ) { + // Seek `elem` from a previously-cached index + outerCache = parent[ expando ] || (parent[ expando ] = {}); + cache = outerCache[ type ] || []; + nodeIndex = cache[0] === dirruns && cache[1]; + diff = cache[0] === dirruns && cache[2]; + node = nodeIndex && parent.childNodes[ nodeIndex ]; + + while ( (node = ++nodeIndex && node && node[ dir ] || + + // Fallback to seeking `elem` from the start + (diff = nodeIndex = 0) || start.pop()) ) { + + // When found, cache indexes on `parent` and break + if ( node.nodeType === 1 && ++diff && node === elem ) { + outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + break; + } + } + + // Use previously-cached element index if available + } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) { + diff = cache[1]; + + // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...) + } else { + // Use the same loop as above to seek `elem` from the start + while ( (node = ++nodeIndex && node && node[ dir ] || + (diff = nodeIndex = 0) || start.pop()) ) { + + if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) { + // Cache the index of each encountered element + if ( useCache ) { + (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } + } + } + } + + // Incorporate the offset, then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + // Potentially complex pseudos + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + // "Whether an element is represented by a :lang() selector + // is based solely on the element's language value + // being equal to the identifier C, + // or beginning with the identifier C immediately followed by "-". + // The matching of C against the element's language value is performed case-insensitively. + // The identifier C does not have to be a valid language name." + // http://www.w3.org/TR/selectors/#lang-pseudo + "lang": markFunction( function( lang ) { + // lang value must be a valid identifider + if ( !ridentifier.test(lang || "") ) { + Sizzle.error( "unsupported lang: " + lang ); + } + lang = lang.replace( runescape, funescape ).toLowerCase(); + return function( elem ) { + var elemLang; + do { + if ( (elemLang = documentIsXML ? + elem.getAttribute("xml:lang") || elem.getAttribute("lang") : + elem.lang) ) { + + elemLang = elemLang.toLowerCase(); + return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0; + } + } while ( (elem = elem.parentNode) && elem.nodeType === 1 ); + return false; + }; + }), + + // Miscellaneous + "target": function( elem ) { + var hash = window.location && window.location.hash; + return hash && hash.slice( 1 ) === elem.id; + }, + + "root": function( elem ) { + return elem === docElem; + }, + + "focus": function( elem ) { + return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); + }, + + // Boolean properties + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "selected": function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + // Contents + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) { + return false; + } + } + return true; + }, + + "parent": function( elem ) { + return !Expr.pseudos["empty"]( elem ); + }, + + // Element/input types + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "text": function( elem ) { + var attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + elem.type === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type ); + }, + + // Position-in-collection + "first": createPositionalPseudo(function() { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length ) { + var i = 0; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length ) { + var i = 1; + for ( ; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + var i = argument < 0 ? argument + length : argument; + for ( ; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +// Add button/input type pseudos +for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) { + Expr.pseudos[ i ] = createInputPseudo( i ); +} +for ( i in { submit: true, reset: true } ) { + Expr.pseudos[ i ] = createButtonPseudo( i ); +} + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, + soFar, groups, preFilters, + cached = tokenCache[ selector + " " ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + // Don't consume trailing commas as valid + soFar = soFar.slice( match[0].length ) || soFar; + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + matched = match.shift(); + tokens.push( { + value: matched, + // Cast descendant combinators to space + type: match[0].replace( rtrim, " " ) + } ); + soFar = soFar.slice( matched.length ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + (match = preFilters[ type ]( match ))) ) { + matched = match.shift(); + tokens.push( { + value: matched, + type: type, + matches: match + } ); + soFar = soFar.slice( matched.length ); + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function toSelector( tokens ) { + var i = 0, + len = tokens.length, + selector = ""; + for ( ; i < len; i++ ) { + selector += tokens[i].value; + } + return selector; +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + var data, cache, outerCache, + dirkey = dirruns + " " + doneName; + + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( xml ) { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + if ( matcher( elem, context, xml ) ) { + return true; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( elem.nodeType === 1 || checkNonElements ) { + outerCache = elem[ expando ] || (elem[ expando ] = {}); + if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) { + if ( (data = cache[1]) === true || data === cachedruns ) { + return data === true; + } + } else { + cache = outerCache[ dir ] = [ dirkey ]; + cache[1] = matcher( elem, context, xml ) || cachedruns; + if ( cache[1] === true ) { + return true; + } + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + var temp, i, elem, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + temp = condense( matcherOut, postMap ); + postFilter( temp, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = temp.length; + while ( i-- ) { + if ( (elem = temp[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + if ( seed ) { + if ( postFinder || preFilter ) { + if ( postFinder ) { + // Get the final matcherOut by condensing this intermediate into postFinder contexts + temp = []; + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + // Restore matcherIn since elem is not yet a final match + temp.push( (matcherIn[i] = elem) ); + } + } + postFinder( null, (matcherOut = []), temp, xml ); + } + + // Move matched elements from seed to results to keep them synchronized + i = matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) && + (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) { + + seed[temp] = !(results[temp] = elem); + } + } + } + + // Add elements to results, through postFinder if defined + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator(elementMatcher( matchers ), matcher) ]; + } else { + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && toSelector( tokens.slice( 0, i - 1 ) ).replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && toSelector( tokens ) + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + // A counter to specify which element is currently being matched + var matcherCachedRuns = 0, + bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Use integer dirruns iff this is the outermost matcher + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = matcherCachedRuns; + } + + // Add elements passing elementMatchers directly to results + // Keep `i` a string if there are no elements so `matchedCount` will be "00" below + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + j = 0; + while ( (matcher = elementMatchers[j++]) ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++matcherCachedRuns; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + j = 0; + while ( (matcher = setMatchers[j++]) ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ selector + " " ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results ); + } + return results; +} + +function select( selector, context, results, seed ) { + var i, tokens, token, type, find, + match = tokenize( selector ); + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !documentIsXML && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( runescape, funescape ), context )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().value.length ); + } + + // Fetch a seed set for right-to-left matching + i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length; + while ( i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( runescape, funescape ), + rsibling.test( tokens[0].type ) && context.parentNode || context + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && toSelector( tokens ); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + documentIsXML, + results, + rsibling.test( selector ) + ); + return results; +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Easy API for creating new setFilters +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Initialize with the default document +setDocument(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var i, ret, self, + len = this.length; + + if ( typeof selector !== "string" ) { + self = this; + return this.pushStack( jQuery( selector ).filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }) ); + } + + ret = []; + for ( i = 0; i < len; i++ ) { + jQuery.find( selector, this[ i ], ret ); + } + + // Needed because $( selector, context ) becomes $( context ).find( selector ) + ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret ); + ret.selector = ( this.selector ? this.selector + " " : "" ) + selector; + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false) ); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true) ); + }, + + is: function( selector ) { + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + return this.pushStack( ret.length > 1 ? jQuery.unique( ret ) : ret ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( jQuery.unique(all) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( this.length > 1 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem ) { + return ( elem === qualifier ) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem ) { + return ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"), + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /\s*$/g, + + // We have to close these tags to support XHTML (#13200) + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
    ", "
    " ], + area: [ 1, "", "" ], + param: [ 1, "", "" ], + thead: [ 1, "", "
    " ], + tr: [ 2, "", "
    " ], + col: [ 2, "", "
    " ], + td: [ 3, "", "
    " ], + + // IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, + // unless wrapped in a div with non-breaking characters in front of it. + _default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X
    ", "
    " ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this ); + } + }); + }, + + after: function() { + return this.domManip( arguments, false, function( elem ) { + if ( this.parentNode ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + } + }); + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length > 0 ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem ) ); + } + + if ( elem.parentNode ) { + if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) { + setGlobalEval( getAll( elem, "script" ) ); + } + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + + // If this is a select, ensure that it displays empty (#12336) + // Support: IE<9 + if ( elem.options && jQuery.nodeName( elem, "select" ) ) { + elem.options.length = 0; + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( getAll( elem, false ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + var isFunc = jQuery.isFunction( value ); + + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( !isFunc && typeof value !== "string" ) { + value = jQuery( value ).not( this ).detach(); + } + + return this.domManip( [ value ], true, function( elem ) { + var next = this.nextSibling, + parent = this.parentNode; + + if ( parent ) { + jQuery( this ).remove(); + parent.insertBefore( elem, next ); + } + }); + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = core_concat.apply( [], args ); + + var first, node, hasScripts, + scripts, doc, fragment, + i = 0, + l = this.length, + set = this, + iNoClone = l - 1, + value = args[0], + isFunction = jQuery.isFunction( value ); + + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) { + return this.each(function( index ) { + var self = set.eq( index ); + if ( isFunction ) { + args[0] = value.call( this, index, table ? self.html() : undefined ); + } + self.domManip( args, table, callback ); + }); + } + + if ( l ) { + fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this ); + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + for ( ; i < l; i++ ) { + node = fragment; + + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); + + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } + + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + node, + i + ); + } + + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; + + // Reenable scripts + jQuery.map( scripts, restoreScript ); + + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) { + + if ( node.src ) { + // Hope ajax is available... + jQuery.ajax({ + url: node.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + } + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +// Replace/restore the type attribute of script elements for safe DOM manipulation +function disableScript( elem ) { + var attr = elem.getAttributeNode("type"); + elem.type = ( attr && attr.specified ) + "/" + elem.type; + return elem; +} +function restoreScript( elem ) { + var match = rscriptTypeMasked.exec( elem.type ); + if ( match ) { + elem.type = match[1]; + } else { + elem.removeAttribute("type"); + } + return elem; +} + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var elem, + i = 0; + for ( ; (elem = elems[i]) != null; i++ ) { + jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) ); + } +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function fixCloneNodeIssues( src, dest ) { + var nodeName, e, data; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + nodeName = dest.nodeName.toLowerCase(); + + // IE6-8 copies events bound via attachEvent when using cloneNode. + if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) { + data = jQuery._data( dest ); + + for ( e in data.events ) { + jQuery.removeEvent( dest, e, data.handle ); + } + + // Event data gets referenced instead of copied if the expando gets copied too + dest.removeAttribute( jQuery.expando ); + } + + // IE blanks contents when cloning scripts, and tries to evaluate newly-set text + if ( nodeName === "script" && dest.text !== src.text ) { + disableScript( dest ).text = src.text; + restoreScript( dest ); + + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + } else if ( nodeName === "object" ) { + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.defaultSelected = dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + } +} + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + last = insert.length - 1; + + for ( ; i <= last; i++ ) { + elems = i === last ? this : this.clone(true); + jQuery( insert[i] )[ original ]( elems ); + + // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get() + core_push.apply( ret, elems.get() ); + } + + return this.pushStack( ret ); + }; +}); + +function getAll( context, tag ) { + var elems, elem, + i = 0, + found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) : + undefined; + + if ( !found ) { + for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) { + if ( !tag || jQuery.nodeName( elem, tag ) ) { + found.push( elem ); + } else { + jQuery.merge( found, getAll( elem, tag ) ); + } + } + } + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], found ) : + found; +} + +// Used in buildFragment, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( manipulation_rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var destElements, node, clone, i, srcElements, + inPage = jQuery.contains( elem.ownerDocument, elem ); + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + + // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 + destElements = getAll( clone ); + srcElements = getAll( elem ); + + // Fix all IE cloning issues + for ( i = 0; (node = srcElements[i]) != null; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + fixCloneNodeIssues( node, destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0; (node = srcElements[i]) != null; i++ ) { + cloneCopyEvent( node, destElements[i] ); + } + } else { + cloneCopyEvent( elem, clone ); + } + } + + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + destElements = srcElements = node = null; + + // Return the cloned set + return clone; + }, + + buildFragment: function( elems, context, scripts, selection ) { + var j, elem, contains, + tmp, tag, tbody, wrap, + l = elems.length, + + // Ensure a safe fragment + safe = createSafeFragment( context ), + + nodes = [], + i = 0; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); + + // Convert non-html into a text node + } else if ( !rhtml.test( elem ) ) { + nodes.push( context.createTextNode( elem ) ); + + // Convert html into DOM nodes + } else { + tmp = tmp || safe.appendChild( context.createElement("div") ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + + tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[2]; + + // Descend through wrappers to the right content + j = wrap[0]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Manually add leading whitespace removed by IE + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) ); + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + elem = tag === "table" && !rtbody.test( elem ) ? + tmp.firstChild : + + // String was a bare or + wrap[1] === "
    " && !rtbody.test( elem ) ? + tmp : + 0; + + j = elem && elem.childNodes.length; + while ( j-- ) { + if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) { + elem.removeChild( tbody ); + } + } + } + + jQuery.merge( nodes, tmp.childNodes ); + + // Fix #12392 for WebKit and IE > 9 + tmp.textContent = ""; + + // Fix #12392 for oldIE + while ( tmp.firstChild ) { + tmp.removeChild( tmp.firstChild ); + } + + // Remember the top-level container for proper cleanup + tmp = safe.lastChild; + } + } + } + + // Fix #11356: Clear elements from fragment + if ( tmp ) { + safe.removeChild( tmp ); + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked ); + } + + i = 0; + while ( (elem = nodes[ i++ ]) ) { + + // #4087 - If origin and destination elements are the same, and this is + // that element, do not do anything + if ( selection && jQuery.inArray( elem, selection ) !== -1 ) { + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( safe.appendChild( elem ), "script" ); + + // Preserve script evaluation history + if ( contains ) { + setGlobalEval( tmp ); + } + + // Capture executables + if ( scripts ) { + j = 0; + while ( (elem = tmp[ j++ ]) ) { + if ( rscriptType.test( elem.type || "" ) ) { + scripts.push( elem ); + } + } + } + } + + tmp = null; + + return safe; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var elem, type, id, data, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( typeof elem.removeAttribute !== core_strundefined ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + core_deletedIds.push( id ); + } + } + } + } + } +}); +var iframe, getStyles, curCSS, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity\s*=\s*([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([+-])=(" + core_pnum + ")", "i" ), + elemdisplay = { BODY: "block" }, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ]; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + // isHidden might be called from jQuery#filter function; + // in that case, element will be second argument + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var display, elem, hidden, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + + values[ index ] = jQuery._data( elem, "olddisplay" ); + display = elem.style.display; + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + + if ( !values[ index ] ) { + hidden = isHidden( elem ); + + if ( display && display !== "none" || !hidden ) { + jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) ); + } + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + var len, styles, + map = {}, + i = 0; + + if ( jQuery.isArray( name ) ) { + styles = getStyles( elem ); + len = name.length; + + for ( ; i < len; i++ ) { + map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles ); + } + + return map; + } + + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state ) { + var bool = typeof state === "boolean"; + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "columnCount": true, + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // Fixes #8908, it can be done more correctly by specifing setters in cssHooks, + // but it would mean to define eight (for every problematic property) identical functions + if ( !jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) { + style[ name ] = "inherit"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, extra, styles ) { + var num, val, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name, styles ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( extra === "" || extra ) { + num = parseFloat( val ); + return extra === true || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback, args ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.apply( elem, args || [] ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: we've included the "window" in window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + getStyles = function( elem ) { + return window.getComputedStyle( elem, null ); + }; + + curCSS = function( elem, name, _computed ) { + var width, minWidth, maxWidth, + computed = _computed || getStyles( elem ), + + // getPropertyValue is only needed for .css('filter') in IE9, see #12537 + ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined, + style = elem.style; + + if ( computed ) { + + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + + // Remember the original values + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + // Put in the new values to get a computed value out + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + // Revert the changed values + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + getStyles = function( elem ) { + return elem.currentStyle; + }; + + curCSS = function( elem, name, _computed ) { + var left, rs, rsLeft, + computed = _computed || getStyles( elem ), + ret = computed ? computed[ name ] : undefined, + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rs = elem.runtimeStyle; + rsLeft = rs && rs.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + rs.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + rs.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + // Guard against undefined "subtract", e.g., when used as in cssHooks + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + val += jQuery.css( elem, extra + cssExpand[ i ], true, styles ); + } + + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } else { + // at this point, extra isn't content, so add padding + val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles ); + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles ); + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var valueIsBorderBox = true, + val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + styles = getStyles( elem ), + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name, styles ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox, + styles + ) + ) + "px"; +} + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + var doc = document, + display = elemdisplay[ nodeName ]; + + if ( !display ) { + display = actualDisplay( nodeName, doc ); + + // If the simple way fails, read from inside an iframe + if ( display === "none" || !display ) { + // Use the already-created iframe if possible + iframe = ( iframe || + jQuery("